Skip to content

Commit 1eea720

Browse files
committed
feat: insert-interval
1 parent 172f4fd commit 1eea720

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

insert-interval/minji-go.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
}

0 commit comments

Comments
 (0)