使用三个辅助变量

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

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;
    }
};
全部评论

相关推荐

可可可可可_:nb啊,看样子是专科玩了几年随便专升本了个民办,又玩了两年。你这能找到我吃
点赞 评论 收藏
分享
专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务