LeetCode 163: Missing Ranges Solution

Master LeetCode problem 163 (Missing Ranges), a easy challenge, with our optimized solutions in Java, C++, and Python. Explore detailed explanations, test your code in our interactive editor, and prepare for coding interviews.

163. Missing Ranges

Easy

Problem Explanation

Explanation:

Given a sorted integer array and a lower and upper bound, the task is to find all missing ranges in the array within the specified lower and upper bounds. A missing range is defined as a contiguous sequence of numbers between the lower and upper bounds that are not present in the array.

To solve this problem:

  1. Iterate through the array and compare each element with its previous element to find missing ranges.
  2. If the difference between two consecutive elements is greater than 1, a missing range exists.
  3. Add the missing range to the result list if it lies within the specified lower and upper bounds. :

Solution Code

import java.util.*;

class Solution {
    public List<String> findMissingRanges(int[] nums, int lower, int upper) {
        List<String> result = new ArrayList<>();
        long start = (long) lower - 1; // To handle the case where lower = Integer.MIN_VALUE
        for (int i = 0; i <= nums.length; i++) {
            long end = (i < nums.length) ? (long) nums[i] : (long) upper + 1; // To handle the case where upper = Integer.MAX_VALUE
            if (end - start >= 2) {
                if (end - start == 2) {
                    result.add(String.valueOf(start + 1));
                } else {
                    result.add(String.valueOf(start + 1) + "->" + String.valueOf(end - 1));
                }
            }
            start = end;
        }
        return result;
    }
}

Try It Yourself

Loading code editor...

Related LeetCode Problems

Frequently Asked Questions

How to solve LeetCode 163 (Missing Ranges)?

This page provides optimized solutions for LeetCode problem 163 (Missing Ranges) in Java, C++, and Python, along with a detailed explanation and an interactive code editor to test your code.

What is the time complexity of LeetCode 163 (Missing Ranges)?

The time complexity for LeetCode 163 (Missing Ranges) varies by solution. Check the detailed explanation section for specific complexities in Java, C++, and Python implementations.

Can I run code for LeetCode 163 on DevExCode?

Yes, DevExCode provides an interactive code editor where you can write, test, and run your code for LeetCode 163 in Java, C++, or Python.

Back to LeetCode Solutions