Python程序:查找数组中缺失的最小正整数
假设我们有一个名为nums的数字列表,我们需要找到第一个缺失的正整数。换句话说,就是数组中不存在的最小正整数。数组中可能包含重复数字和负数。
所以,如果输入类似于nums = [0,3,1],则输出将为2
为了解决这个问题,我们将遵循以下步骤:
nums := 包含nums中所有正数的一个集合
如果nums为空,则
返回1
从1到nums的大小+2循环
如果i不在nums中,则
返回i
让我们看看下面的实现来更好地理解:
示例
class Solution: def solve(self, nums): nums = set(num for num in nums if num > 0) if not nums: return 1 for i in range(1, len(nums) + 2): if i not in nums: return i ob = Solution() nums = [0,3,1] print(ob.solve(nums))
输入
[0,3,1]
输出
2
广告