Skip to content

Commit 3fae094

Browse files
committed
non-overlapping-intervals solution
1 parent b556897 commit 3fae094

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @param {number[][]} intervals
3+
* @return {number}
4+
*/
5+
var eraseOverlapIntervals = function (intervals) {
6+
7+
const sort = intervals.sort((a, b) => {
8+
if (a[1] === b[1]) {
9+
return a[0] - b[0];
10+
}
11+
12+
return a[1] - b[1];
13+
});
14+
15+
let count = 0;
16+
let max = sort[0][1];
17+
18+
for (let i = 0; i < sort.length - 1; i++) {
19+
const right = sort[i + 1][0];
20+
21+
if (max > right) {
22+
count++;
23+
} else {
24+
max = sort[i + 1][1];
25+
}
26+
}
27+
28+
return count;
29+
};
30+
31+
// ์‹œ๊ฐ„๋ณต์žก๋„ - O(nlogn) ์ธํ„ฐ๋ฒŒ ๋’ท ์ˆซ์ž ์ •๋ ฌ ์‹œ ์ •๋ ฌ๋กœ ์ธํ•œ ์‹œ๊ฐ„๋ณต์žก๋„ ๋ฐœ์ƒ
32+
// ๊ณต๊ฐ„๋ณต์žก๋„ - O(1) ํŠน๋ณ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•„ ์ƒ์ˆ˜ ๊ณต๊ฐ„๋ณต์žก๋„ ๋ฐœ์ƒ

0 commit comments

Comments
ย (0)