在 Python 中的数组中查找第 k 个缺失正数的程序

假设我们有一个名为 nums 的数组,它具有严格递增的正排序值,并且还有一个整数 k。我们必须找到这个数组中缺少的第 k 个正整数。

因此,如果输入类似于 nums = [1,2,4,8,12], k = 6,那么输出将是 10,因为缺少的数字是 [3,5,6,7,9,10,11 ],这里的第 6 项是 10。

示例(Python)

让我们看看以下实现以获得更好的理解 -

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