File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * [Problem]: [57] Insert Interval
3+ * (https://leetcode.com/problems/insert-interval/)
4+ */
5+
6+ //시간복잡도 O(n)
7+ //공간복잡도 O(n)
8+ function insert ( intervals : number [ ] [ ] , newInterval : number [ ] ) : number [ ] [ ] {
9+ const result : number [ ] [ ] = [ ] ;
10+
11+ let idx = 0 ;
12+
13+ while ( idx < intervals . length && intervals [ idx ] [ 1 ] < newInterval [ 0 ] ) {
14+ result . push ( intervals [ idx ] ) ;
15+ idx ++ ;
16+ }
17+
18+ while ( idx < intervals . length && intervals [ idx ] [ 0 ] <= newInterval [ 1 ] ) {
19+ newInterval = [
20+ Math . min ( intervals [ idx ] [ 0 ] , newInterval [ 0 ] ) ,
21+ Math . max ( intervals [ idx ] [ 1 ] , newInterval [ 1 ] ) ,
22+ ] ;
23+ idx ++ ;
24+ }
25+
26+ result . push ( newInterval ) ;
27+
28+ while ( idx < intervals . length ) {
29+ result . push ( intervals [ idx ] ) ;
30+ idx ++ ;
31+ }
32+
33+ return result ;
34+ }
You can’t perform that action at this time.
0 commit comments