题解 | #缺失的第一个正整数,时间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 ;
}
}
一个菜鸟的算法刷题记录 文章被收录于专栏
分享一个菜鸟的成长记录
查看7道真题和解析