Python 中查找范围内第一个缺失的正整数的程序


假设我们有一个大小为 n 的不同整数排序列表,我们必须找出不在数组中的范围 [1 到 n+1] 中的第一个正数。

因此,如果输入类似 nums = [0, 5, 1],则输出将为 2,因为 2 是 1 到 5 范围内第一个缺失的数字。

为解决此问题,我们将遵循以下步骤 -

  • target := 1

  • 对于 arr 中的每个 i,执行以下操作

    • 如果 i 与 target 相同,则

      • target := target + 1

  • 返回 target

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

示例

 实时演示

class Solution:
   def solve(self, arr):
      target = 1
      for i in arr:
         if i == target:
            target += 1
         return target
ob = Solution()
nums = [0,5,1]
print(ob.solve(nums))

输入

[0,5,1]

输出

2

更新于: 08-10-2020

304 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.