File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
non-overlapping-intervals Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change 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) ํน๋ณํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ฌ์ฉ๋์ง ์์ ์์ ๊ณต๊ฐ๋ณต์ก๋ ๋ฐ์
You canโt perform that action at this time.
0 commit comments