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