File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
non-overlapping-intervals Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * λ¬Έμ μ€λͺ
3
+ * - κ²ΉμΉμ§ μλ μ΅λν λ§μ ꡬκ°μ μ ννλ λ¬Έμ (κ·Έλ¬κΈ° μν΄μλ λͺκ°λ₯Ό μ κ±°ν΄μΌνλμ§)
4
+ *
5
+ * μμ΄λμ΄
6
+ * 1) 그리λ μκ³ λ¦¬μ¦
7
+ * - μ΅λν λ§μ κ΅¬κ° μ νμ μν΄μλ λλλ μκ°μ κΈ°μ€μΌλ‘ μ λ ¬
8
+ * - μν νλ©΄μ λ€μ μμ μκ°μ΄ νμ¬ λλλ μκ°λ³΄λ€ ν¬κ±°λ κ°μΌλ©΄ μΉ΄μ΄νΈ μ¦κ°
9
+ */
10
+ function eraseOverlapIntervals ( intervals : number [ ] [ ] ) : number {
11
+ if ( intervals . length === 0 ) return 0 ;
12
+
13
+ intervals . sort ( ( a , b ) => a [ 1 ] - b [ 1 ] ) ;
14
+
15
+ let count = 1 ;
16
+ let end = intervals [ 0 ] [ 1 ] ;
17
+
18
+ for ( let i = 1 ; i < intervals . length ; i ++ ) {
19
+ if ( intervals [ i ] [ 0 ] >= end ) {
20
+ count ++ ;
21
+ end = intervals [ i ] [ 1 ] ;
22
+ }
23
+ }
24
+ return intervals . length - count ;
25
+ }
You canβt perform that action at this time.
0 commit comments