程序从Python的元素列表中找到第k个缺失数字
假设我们有一个排序的唯一数字列表,分别称为nums和一个整数k,我们必须从给定列表的第一个元素中找到第k个缺失数字。
因此,如果输入类似于nums=[5,6,8,10,11],k=1,则输出将为9,因为9是第二个(索引1)缺失数字。
为了解决这个问题,我们将遵循以下步骤-
对于范围为1到nums的i
返回nums[i-1]+k+1
k:=k-差异
diff:=nums[i]-nums[i-1]-1
如果k>=diff,则
除此以外,
返回数字[-1]+k+1
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, nums, k): for i in range(1, len(nums)): diff = nums[i] - nums[i - 1] - 1 if k >= diff: k -= diff else: return nums[i - 1] + k + 1 return nums[-1] + k + 1 ob = Solution()nums = [5,6,8,10,11] k = 1 print(ob.solve(nums, k))
输入值
[5,6,8,10,11], 1
输出结果
9