题解 | #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
#include <vector>
class Solution {
public:
int minNumberDisappeared(vector<int>& nums) {
// write code here
//建立一个用于hash的数组
int n = nums.size();
sort(nums.begin(), nums.end());
int m = nums[n - 1];//获取最大值
vector<int> hash(m + 1);
for(int i = 0; i < n; i++){
if(nums[i] > 0)//舍弃为赋值的元素
hash[nums[i]] = 1; //将元素对应下标的元素设置为true
}
int ans;
for(int i = 1; i <= m; i++){//依次遍历,当出现第一个为空的元素,就跳出循环
if(hash[i] == 0){
ans = i ;
break;
}
}
return ans;
}
};

