Skip to content

Commit 70d1d96

Browse files
committed
add Insert Interval solution
1 parent 87038e3 commit 70d1d96

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

insert-interval/HoonDongKang.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* [Problem]: [57] Insert Interval
3+
* (https://leetcode.com/problems/insert-interval/)
4+
*/
5+
6+
//시간복잡도 O(n)
7+
//공간복잡도 O(n)
8+
function insert(intervals: number[][], newInterval: number[]): number[][] {
9+
const result: number[][] = [];
10+
11+
let idx = 0;
12+
13+
while (idx < intervals.length && intervals[idx][1] < newInterval[0]) {
14+
result.push(intervals[idx]);
15+
idx++;
16+
}
17+
18+
while (idx < intervals.length && intervals[idx][0] <= newInterval[1]) {
19+
newInterval = [
20+
Math.min(intervals[idx][0], newInterval[0]),
21+
Math.max(intervals[idx][1], newInterval[1]),
22+
];
23+
idx++;
24+
}
25+
26+
result.push(newInterval);
27+
28+
while (idx < intervals.length) {
29+
result.push(intervals[idx]);
30+
idx++;
31+
}
32+
33+
return result;
34+
}

0 commit comments

Comments
 (0)