Summary Ranges Lab

Easy
1
42.9% Acceptance

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" if a != b
  • "a" if a == 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

  1. Implement the summaryRanges function.
  2. Complete evaluation script for initial testing and further challenges.
  3. Ensure that there are no errors and that the code executes as expected.