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

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

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

想了想,感觉靠谱的方法还是借用传过来的数组,至少没有额外增加空间。

class Solution {
public:
    int minNumberdisappered(vector<int>& arr) {
        // write code here
        int n = arr.size();
        for(int i=0;i<n;i++)
        {
            if(arr[i] == i + 1 || arr[i] > n || arr[i] <= 0)    continue;
            while(arr[i] != i + 1 && arr[i] <= n && arr[i] > 0)    swap(arr[i],arr[arr[i]-1]);
        }
        for(int i=0;i<n;i++)    if(arr[i] != i + 1)    return i + 1;
        return n+1;
    }
};
全部评论

相关推荐

10-31 20:07
门头沟学院 Java
点赞 评论 收藏
分享
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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