public class Solution {
public int FirstMissingPositive(int[] nums) {
if(nums == null || nums.Length == 0){
return 1;
}
var list = new List<int>();
for(var i = 0;i < nums.Length;i ++){
if(nums[i] > 0){
list.Add(nums[i]);
}
}
list.Sort();
if(list.Count == 0 || list[0] > 1){
return 1;
}
for(var i = 0;i < list.Count - 1; i++){
if(list[i+1] - list[i] > 1){
return list[i] + 1;
}
}
return list[list.Count - 1] + 1;
}
}LeetCode -- First Missing Positive
原文:http://blog.csdn.net/lan_liang/article/details/50144341