在 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