给定一个长度为 nn 的整数数组,请你找出未在数组中出现过的最小正整数。
样例
输入1:[-5, 3, 2, 3]
输出1:1
输入2:[1, 2, 3]
输出2:4
数据范围
1≤n≤1051≤n≤105,
数组中元素的取值范围 [−109,109][−109,109]。
class Solution {
public:
int findMissMin(vector<int>& nums) {
int n=nums.size();
vector<bool> hash(n+2);
for(int x:nums)
{
if(x>=1 && x<=n)
hash[x]=true;
}
for(int i=1;i<=n;i++)
{
if(!hash[i])
return i;
}
return n+1;
}
};