使用三个辅助变量

数组中未出现的最小正整数

http://www.nowcoder.com/questionTerminal/8cc4f31432724b1f88201f7b721aa391

//最小值,最大值,以及第一个大于0的值
//遍历一遍数组,得到缺失的第一个正整数

class Solution {
public:

    int minNumberdisappered(vector<int>& arr) {
        int min=INT_MAX;
        int max=INT_MIN;
        int median=INT_MAX;
        for(int i=0;i<arr.size();i++){
            if(arr[i]<0 && arr[i]<min)
                min=arr[i];

            if(arr[i]>0 && arr[i]<median)
                median=arr[i]; 
            else if(arr[i]>0 && arr[i]>max)
                max=arr[i];
        }
        if(min<0)
            return median-1;
        else 
            return max+1;
    }
};
全部评论

相关推荐

2025-12-05 18:09
已编辑
广东药科大学 后端工程师
点赞 评论 收藏
分享
2025-12-17 17:53
门头沟学院 Web前端
海梨花:我之前面试也是问我非技术问题,问过我怎么统计北京出租车数量,不借助任何网络或者其他平台的帮助,有足够多的人可以帮忙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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