class Solution { public List findMissingRanges(int[] nums, int lower, int upper) { List missingRanges = new ArrayList<>(); int currLower = lower; for (int num : nums) { if (num > currLower) { if (num - currLower > 1) { missingRanges.add(currLower + "-" + (num - 1)); } else { missingRanges.add(String.valueOf(currLower)); } } currLower = num + 1; } if (currLower <= upper) { if (upper - currLower > 0) { missingRanges.add(currLower + "-" + upper); } else { missingRanges.add(String.valueOf(currLower)); } } return missingRanges; } }