File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ 풀이 :
3+ 기존 배열 중 start가 newInterval보다 빠르면서 newInterval과 겹치지 않는 요소들 result에 push
4+ 겹치는 요소들은 newInterval에 통합 후 result에 push
5+ 그 후 나머지 겹치지 않는 부분 result에 push
6+
7+ intervals 개수 : N
8+
9+ TC : O (N)
10+
11+ SC : O (1)
12+ 리턴하는 배열 외에 추가 공간 사용 X
13+ */
14+
15+ #include < vector>
16+ using namespace std ;
17+
18+ class Solution {
19+ public:
20+ vector<vector<int >> insert (vector<vector<int >>& intervals, vector<int >& newInterval) {
21+ vector<vector<int >> result;
22+ int i = 0 ;
23+ int n = intervals.size ();
24+
25+ while (i < n && intervals[i][1 ] < newInterval[0 ]) {
26+ result.push_back (intervals[i]);
27+ i++;
28+ }
29+
30+ while (i < n && intervals[i][0 ] <= newInterval[1 ]) {
31+ newInterval[0 ] = min (intervals[i][0 ], newInterval[0 ]);
32+ newInterval[1 ] = max (intervals[i][1 ], newInterval[1 ]);
33+ i++;
34+ }
35+ result.push_back (newInterval);
36+
37+ while (i < n) {
38+ result.push_back (intervals[i]);
39+ i++;
40+ }
41+ return result;
42+ }
43+ };
You can’t perform that action at this time.
0 commit comments