handle overflow的情况 要是num == Integer.MAX_VALUE 直接return res
注意prev <= num 的时候 讨论才有意义
1 class Solution { 2 public List<String> findMissingRanges(int[] nums, int lower, int upper) { 3 List<String> res = new ArrayList<>(); 4 int prev = lower; 5 for(int num : nums){ 6 if(num == prev){ 7 prev = prev+1; 8 }else if(num - 1 == prev){ 9 res.add("" + prev); 10 prev = num+1; 11 }else if(prev < num){ 12 res.add("" + prev + "->" + (num-1)); 13 prev = num+1; 14 } 15 if(num == Integer.MAX_VALUE){ 16 return res; 17 } 18 } 19 if(prev == Integer.MAX_VALUE) return res; 20 if(prev == upper){ 21 res.add("" + prev); 22 }else if(prev < upper){ 23 res.add("" + prev + "->" + upper); 24 } 25 return res; 26 27 } 28 }