在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
- 如果 num 不在 nums 中,则
-
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