在 Python 中查找 k 的程序,其中 k 个元素的值至少为 k
假设我们有一个名为nums的数字列表,它只包含非负数。如果nums中正好有k个元素大于或等于k,则求值k。如果我们找不到这样的,则返回-1。
因此,如果输入类似于nums=[6,4,0,8,2,9],那么输出将是4,因为正好有4个元素大于或等于4:[6,4,8,9]。
示例
让我们看下面的实现来更好地理解
def solve(nums):
   nums.sort(reverse=True)
   for i in range(1, len(nums)):
      if i >nums[i - 1]:
         break
      elif i > nums[i]:
         return i
   return -1
nums = [6, 4, 0, 8, 2, 9]
print(solve(nums))输入
[6, 4, 0, 8, 2, 9]输出结果
4