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

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

假设我们有一个名为nums的数组,其中包含正整数,且按照严格递增的顺序排序,还有整数k。我们必须找到从该数组中缺失的第k个正整数。

因此,如果输入如下 nums = [1,2,4,8,12],k = 6,则输出将是10,因为缺失的数字是 [3,5,6,7,9,10,11],这里的第6个数字是10。

为了解决这个问题,我们将遵循以下步骤:

  • 将 nums 设置为当前 nums 中的元素的新集合

  • count = 0

  • num = 1

  • while count < k 中,执行以下操作

    • 如果 num 不在 nums 中,则
      • count = count + 1
    • 如果 count 等于 k,则
      • return num
    • num = num + 1

  • return num

更多Python相关文章,请阅读:Python 教程

示例(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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程