题解 | #缺失的第一个正整数#
缺失的第一个正整数
https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int minNumberDisappeared(vector<int>& nums) {
// 直接创建满足题目要求的最大数组长度,就是这么任性
vector<int> vec(500000, 0);
// 遍历nums数组
for(auto it : nums){
// 因为要找最小正整数,所以不考虑≤0的元素
if(it > 0){
vec[it]++;
}
}
// 从1开始找缺失的元素,找到即返回
for(int i = 1; i < vec.size(); ++i){
if(vec[i] == 0) return i;
}
return -1;
}
};
根据题目要求,直接创建长度为500000的数组,的确有点儿搞,但是不会出错啊~~~
