g0201_0300.s0228_summary_ranges.readme.md Maven / Gradle / Ivy
228\. Summary Ranges
Easy
You are given a **sorted unique** integer array `nums`.
Return _the **smallest sorted** list of ranges that **cover all the numbers in the array exactly**_. That is, each element of `nums` is covered by exactly one of the ranges, and there is no integer `x` such that `x` is in one of the ranges but not in `nums`.
Each range `[a,b]` in the list should be output as:
* `"a->b"` if `a != b`
* `"a"` if `a == b`
**Example 1:**
**Input:** nums = \[0,1,2,4,5,7\]
**Output:** \["0->2","4->5","7"\]
**Explanation:** The ranges are: \[0,2\] --> "0->2" \[4,5\] --> "4->5" \[7,7\] --> "7"
**Example 2:**
**Input:** nums = \[0,2,3,4,6,8,9\]
**Output:** \["0","2->4","6","8->9"\]
**Explanation:** The ranges are: \[0,0\] --> "0" \[2,4\] --> "2->4" \[6,6\] --> "6" \[8,9\] --> "8->9"
**Example 3:**
**Input:** nums = \[\]
**Output:** \[\]
**Example 4:**
**Input:** nums = \[-1\]
**Output:** \["-1"\]
**Example 5:**
**Input:** nums = \[0\]
**Output:** \["0"\]
**Constraints:**
* `0 <= nums.length <= 20`
* -231 <= nums[i] <= 231 - 1
* All the values of `nums` are **unique**.
* `nums` is sorted in ascending order. © 2015 - 2025 Weber Informatics LLC | Privacy Policy