Skip to content

Commit 58cac9c

Browse files
Jeehay28Jeehay28
authored andcommitted
Add merge-intervals solution in TS
1 parent 9552cd9 commit 58cac9c

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

merge-intervals/Jeehay28.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// TC: O(n * log n)
2+
// SC: O(n)
3+
function merge(intervals: number[][]): number[][] {
4+
if (intervals.length === 0) return [];
5+
6+
intervals.sort((a, b) => a[0] - b[0]);
7+
8+
const merged = [intervals[0]];
9+
10+
for (let i = 1; i < intervals.length; i++) {
11+
const last = merged[merged.length - 1];
12+
const current = intervals[i];
13+
14+
if (current[0] <= last[1]) {
15+
last[1] = Math.max(last[1], current[1]);
16+
} else {
17+
merged.push(intervals[i]);
18+
}
19+
}
20+
21+
return merged;
22+
}

0 commit comments

Comments
 (0)