题解 | #缺失的第一个正整数,时间O(n),空间O(n)#

缺失的第一个正整数

http://www.nowcoder.com/practice/50ec6a5b0e4e45348544348278cdcee5

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型一维数组 
     * @return int整型
     */
    public int minNumberDisappeared (int[] nums) {
        if (nums == null || nums.length == 1) return 1 ;
        int max_num = 0 ;
        for(int n : nums) {
            if (n > 0)
            max_num = Math.max(max_num , n) ;
        }
        //arr[i]代表i出现的次数
        int[] arr = new int[max_num + 1] ;
        for(int n : nums) {
            if(n > 0)
            arr[n] += 1 ;
        }
        for(int i = 1 ; i < arr.length ; i ++) {
            if(arr[i] == 0) return i ;
        }
        return arr.length ;
    }
}

一个菜鸟的算法刷题记录 文章被收录于专栏

分享一个菜鸟的成长记录

全部评论

相关推荐

点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务