class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
bool a[301]={0};
for(int i=0;i<nums.size();i++){
if(nums[i]>0&&nums[i]<301){
a[nums[i]]=1;
}
}
for(int i=1;i<301;i++){
if(!a[i]) return i;
}
return 0;
}
};
范围0-300,遍历一遍数组,将范围0-300之间的数去掉(bool为true),此时1-300之间为false的值就是缺失第一个正整数。