Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static List<String> findMissingRanges(int[] nums, int lower, int upper) {
- List<String> missingRanges = new ArrayList<>();
- long next = lower; // use long to avoid overflow issues
- for (int num : nums) {
- if (num > next) {
- missingRanges.add(formatRange(next, num - 1));
- }
- next = (long) num + 1; // move to next expected number
- }
- if (next <= upper) {
- missingRanges.add(formatRange(next, upper));
- }
- return missingRanges;
- }
- private static String formatRange(long start, long end) {
- return start == end ? String.valueOf(start) : start + "->" + end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement