假设我们有一个名为 nums 的数组,它具有严格递增的正排序值,并且还有一个整数 k。我们必须找到这个数组中缺少的第 k 个正整数。
因此,如果输入类似于 nums = [1,2,4,8,12], k = 6,那么输出将是 10,因为缺少的数字是 [3,5,6,7,9,10,11 ],这里的第 6 项是 10。
让我们看看以下实现以获得更好的理解 -
def solve(nums, k): nums = set(nums) count = 0 num = 1 while count < k: if num not in nums: count += 1 if count == k: return num num += 1 return num nums = [1,2,4,8,12] k = 6 print(solve(nums, k))
[1,2,4,8,12], 6输出结果
10