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