41. 缺失的第一个正数
给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。
示例 1:
输入: [1,2,0]
输出: 3
示例 2:
输入: [3,4,-1,1]
输出: 2
示例 3:
输入: [7,8,9,11,12]
输出: 1
代码
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
set<int> set;
int j=nums.size();
for(int n=0;n<j;n++){
set.insert(nums[n]);
}
int res=1;
for(int i=1;i<=j;++i){
if(!set.count(i)){
return i;//没出现直接返回
}else{
res = max(res,i+1); //如果 出现 1 2 3 4,要返回 5
}
}
return res;
}
};
leetcode 地址
https://leetcode-cn.com/problems/first-missing-positive/
思路
遍历一遍内容 并加入到set中,然后从1到num.size()遍历一遍
Comment here is closed