Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for [old] Merge Intervals by Sim0000
"use strict";
function mergeIntervals(intervals) {
if(intervals.length == 0) return [];
let result = [intervals[0]];
let n = 0;
for(let i of intervals){
if(i[0] > intervals[n][1] + 1){
result.push(i);
n++;
} else if(i[1] > intervals[n][1]){
intervals[n][1] = i[1];
}
}
return result;
}
var assert = require('assert');
if (!global.is_checking) {
assert.deepEqual(mergeIntervals([[1, 4], [2, 6], [8, 10], [12, 19]]), [[1, 6], [8, 10], [12, 19]], "First")
assert.deepEqual(mergeIntervals([[1, 12], [2, 3], [4, 7]]), [[1, 12]], "Second")
assert.deepEqual(mergeIntervals([[1, 5], [6, 10], [10, 15], [17, 20]]), [[1, 15], [17, 20]], "Third")
console.log("Done! Go ahead and Check IT");
}
Aug. 2, 2017
Comments: