用Python查找在特殊列表中元素大于或等于元素数量的X的程序
假设有一个名为nums的数组,其中所有元素都是0或正数。如果存在一个数字x,使得nums中恰好有x个数字大于或等于x,则nums被视为特殊的数组。x不必是nums的元素。在这里,我们必须找到x,如果数组是特殊的,则返回其值,否则返回-1。
因此,如果输入是nums =[4,6,7,7,1,0],那么输出将是4,因为有4个数字大于或等于4。
为了解决这个问题,我们将遵循以下步骤:
- for i in range(0,nums的最大值),做如下操作:
- count:= 0
-
对于nums中的每个j,执行以下操作:
- 如果j >= i,则
-
count := count + 1
- 如果计数与i相同,则
- 返回i
-
返回-1
更多Python相关文章,请阅读:Python 教程
示例(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