Python程序:查找特殊数组中大于等于X的元素个数为X的X值
假设我们有一个名为nums的数组,其中所有元素均为0或正数。如果存在一个数字x,使得nums中恰好有x个数字大于或等于x,则nums被认为是特殊的数组。x不必是nums中的元素。这里我们必须找到x(如果数组是特殊的),否则返回-1。
因此,如果输入类似于nums = [4,6,7,7,1,0],则输出将为4,因为有4个数字大于或等于4。
为了解决这个问题,我们将遵循以下步骤:
从0到nums的最大值循环:
计数器:= 0
遍历nums中的每个j:
如果j >= i,则
- 计数器 := 计数器 + 1
如果计数器等于i,则
返回i
返回-1
示例(Python)
让我们来看下面的实现,以便更好地理解:
def solve(nums): for i in range(max(nums)+1): count=0 for j in nums: if j >= i: count+=1 if count == i: return i return -1 nums = [4,6,7,7,1,0] print(solve(nums))
输入
[4,6,7,7,1,0]
输出
-1
广告