当前位置 博文首页 > Lina Shi的博客:leetcode 41. 缺失的第一个正数 (超级简单的解
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
示例 1:
输入: [1,2,0]
输出: 3
示例 2:
输入: [3,4,-1,1]
输出: 2
示例 3:
输入: [7,8,9,11,12]
输出: 1
说明:
你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。
题目的要求是找到没有出现过的最小正整数,最小的正整数是1,如果1没出现过,那么答案就是1,否则,自增1,继续看2是否在列表中。下面的代码是python版本,如果用c或c++来写的话,需要自己用一个哈希做映射。
class Solution:
def firstMissingPositive(self, nums: List[int]) -> int:
res = 1
while res in nums:
res += 1
return res
cs