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

缺失的第一个正整数

https://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5

#include <asm-generic/errno.h>
#include <cstddef>
#include <exception>
#include <unordered_map>
#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int minNumberDisappeared(vector<int>& nums) {
        // write code here
        
        unordered_map<int, int>hashmap;
        if(nums.size()==0)return 1;
        int max=1;
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]>0)
                {
                    hashmap[nums[i]]=1;
                    if(max<nums[i])
                    {
                        max=nums[i];
                    }
                }

        }
        for(int k=1;k<nums.size();k++)
        {
            if(hashmap[k]==0)
                return k;
        }
        return max+1;
       
    }
};

利用哈希图记录下现在的数据,然后按照从小到大依次遍历原来的的大小,如果有不在表格中的,就说明是最小的,如果全部遍历完都还没有返回,就说明全都在表格中, 需要返回原来nums 中最大值+1

全部评论

相关推荐

点赞 评论 收藏
分享
用微笑面对困难:只要你保证项目和获奖都是真的就行尤其是“对战,总负责人”啊这些套职,基本上队员,打杂的都这么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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