缺失的第一个正数

时间:2018-10-21 10:02:35   收藏:0   阅读:78

题目描述

给定一个未排序的整数数组,找出其中没有出现的最小的正整数。

我的解答

int firstMissingPositive(vector<int>& nums) {
    int n = nums.size();
    int max = 0;
    for (int i = 0; i < n; i++)
        if (nums[i] > max) max = nums[i];
    bool flags[max+2] = {false};
    for (int i = 0; i < n; i++) {
        int num = nums[i];
        if(num > 0) flags[num] = true;
    }
    if (n > 0) {
        for (int i = 1; i <= max+1; i++)
            if (!flags[i]) return i;
    } else
        return 1;
}

原文:https://www.cnblogs.com/4thirteen2one/p/9823688.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!