程序从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
    猜你喜欢