Skip to content

Commit 7e7086f

Browse files
committed
feat: Upload insert-interval (typescript)
1 parent 8397bef commit 7e7086f

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

โ€Žinsert-interval/mike2ox.tsโ€Ž

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* Source: https://leetcode.com/problems/insert-interval/
3+
* ํ’€์ด๋ฐฉ๋ฒ•: ๋ฏธ๋ฆฌ ์ •๋ ฌ ํ›„ ๋ ๋ถ€๋ถ„๋งŒ ๋น„๊ตํ•˜๋ฉด์„œ ๊ฐฑ์‹ ์‹œํ‚ค๊ธฐ
4+
* ์‹œ๊ฐ„๋ณต์žก๋„: O(nlogn) - ์ •๋ ฌ๋•Œ๋ฌธ์—
5+
* ๊ณต๊ฐ„๋ณต์žก๋„: O(n)
6+
*
7+
* ํ†ต๊ณผ์‹œ๊ฐ„
8+
* - ์ตœ์ดˆ: 40๋ถ„
9+
*/
10+
function insert(intervals: number[][], newInterval: number[]): number[][] {
11+
const mergedIntervals = [...intervals, newInterval];
12+
const result: number[][] = [];
13+
mergedIntervals.sort((a, b) => a[0] - b[0]);
14+
15+
for (const interval of mergedIntervals) {
16+
// ๊ฒฐ๊ณผ ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ํ˜„์žฌ ๊ตฌ๊ฐ„์ด ๋งˆ์ง€๋ง‰ ๊ตฌ๊ฐ„๊ณผ ๊ฒน์น˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
17+
if (result.length === 0 || interval[0] > result[result.length - 1][1]) {
18+
result.push(interval);
19+
} else {
20+
// ๊ฒฐ๊ณผ๋ฌผ์˜ ๋งˆ์ง€๋ง‰ ๊ตฌ๊ฐ„์˜ ํฐ๊ฐ’ ๋ฒ”์œ„์™€ ํ˜„์žฌ ๊ตฌ๊ฐ„์˜ ํฐ๊ฐ’ ๋ฒ”์œ„๋ฅผ ๋น„๊ตํ›„ ํฐ ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•˜๊ธฐ
21+
result[result.length - 1][1] = Math.max(
22+
result[result.length - 1][1],
23+
interval[1]
24+
);
25+
}
26+
}
27+
28+
return result;
29+
}

โ€Žtwo-sum/mike2ox.tsโ€Ž

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/**
2-
* Source: https://leetcode.com/problems/two-sum/
2+
* Source: https://leetcode.com/problems/insert-interval/
3+
34
* ํ’€์ด๋ฐฉ๋ฒ•: Map์„ ์ด์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋‚˜๋จธ์ง€ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๋ฉด์„œ ํ™•์ธ
45
* ์‹œ๊ฐ„๋ณต์žก๋„: O(n)
56
* ๊ณต๊ฐ„๋ณต์žก๋„: O(n)

0 commit comments

Comments
ย (0)