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

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

https://www.nowcoder.com/practice/8cc4f31432724b1f88201f7b721aa391?tpId=117&tqId=37800&rp=1&ru=%2Fta%2Fjob-code-high&qru=%2Fta%2Fjob-code-high%2Fquestion-ranking&tab=answerKey

 public int minNumberdisappered (int[] arr) {
        // write code here
        //原地处理数组 将数组中数字i放在i-1的位置 
        for(int i=0;i<arr.length;i++){
            //保证数组中处理的数字不越界
            if(arr[i]>0 && arr[i]<=arr.length){
                swap(i,arr[i]-1,arr);
            }
        }
        for(int i=0;i<arr.length;i++){
            if(i+1!=arr[i]) return i+1;
        }
        return arr.length+1;
    }
    private void swap(int i,int j,int[] arr){
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
全部评论

相关推荐

不知道怎么取名字_:两个方向 1.简历针对性准备下 2.面试前也需要准备的 主要还是要看各个公司需求,看公司行业和岗位描述,那里面已经写了对技术的需求,一份简历,不可能和所有嵌入式岗位都匹配的
投递北京经纬恒润科技股份有限公司等公司6个岗位
点赞 评论 收藏
分享
12-20 11:21
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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