Summary Ranges
EasyArray
Solution
export function summaryRanges(nums: number[]): string[] {
if (nums.length === 0) {
return [];
}
const answer = [];
const createRange = (start: number, end: number) => {
return start === end - 1 ? `${start}` : `${start}->${end - 1}`;
};
let [start, end] = [nums[0], nums[0]];
for (const num of nums) {
if (end === num) {
end += 1;
} else {
answer.push(createRange(start, end));
[start, end] = [num, num + 1];
}
}
answer.push(createRange(start, end));
return answer;
}