Summary Ranges Lab
In this lab, you will implement a function called summaryRanges
that takes a sorted unique integer array nums
as its input and returns the smallest sorted list of ranges that cover all the numbers in the array exactly. This means that each element of nums
should be covered by exactly one of the ranges, and there should be no integer x
such that x
is in one of the ranges but not in nums
.
A range [a,b]
is the set of all integers from a
to b
(inclusive). Each range [a,b]
in the list should be output as:
"a->b"
ifa != b
"a"
ifa == b
You will be using ESM import/export for this lab, and you will be required to complete the evaluation script provided.
Lab Description
Implement a function summaryRanges
:
/** * @param {number[]} nums * @return {string[]} */ export function summaryRanges(nums) { }
Constraints:
0 <= nums.length <= 20
-231 <= nums[i] <= 231 - 1
- All the values of
nums
are unique. nums
is sorted in ascending order.
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"
Challenges
- Implement the
summaryRanges
function. - Complete evaluation script for initial testing and further challenges.
- Ensure that there are no errors and that the code executes as expected.