給定一個長度為 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;}
};