File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * <a href="https://leetcode.com/problems/insert-interval/">week13-3. insert-interval</a>
3
+ * <li>Description: Return intervals after the insertion of 'new interval' given an array of non-overlapping intervals</li>
4
+ * <li>Topics: Array </li>
5
+ * <li>Time Complexity: O(N), Runtime 1ms </li>
6
+ * <li>Space Complexity: O(N), Memory 45.02MB </li>
7
+ */
8
+ class Solution {
9
+ public int [][] insert (int [][] intervals , int [] newInterval ) {
10
+ List <int []> answer = new ArrayList <>();
11
+
12
+ int i = 0 ;
13
+ while (i < intervals .length && intervals [i ][1 ] < newInterval [0 ]) {
14
+ answer .add (intervals [i ++]);
15
+ }
16
+
17
+ while (i < intervals .length && newInterval [1 ] >= intervals [i ][0 ]) {
18
+ newInterval [0 ] = Math .min (intervals [i ][0 ], newInterval [0 ]);
19
+ newInterval [1 ] = Math .max (intervals [i ][1 ], newInterval [1 ]);
20
+ i ++;
21
+ }
22
+ answer .add (newInterval );
23
+
24
+ while (i < intervals .length ) {
25
+ answer .add (intervals [i ++]);
26
+ }
27
+
28
+ return answer .toArray (new int [answer .size ()][]);
29
+ }
30
+ }
You can’t perform that action at this time.
0 commit comments