题解 | #缺失的第一个正整数#

缺失的第一个正整数

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的数组,的确有点儿搞,但是不会出错啊~~~

全部评论

相关推荐

活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务