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