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