Skip to content

Commit 1426c17

Browse files
committed
solve insert interval
1 parent 6b4cf59 commit 1426c17

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

insert-interval/sora0319.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
public class Solution {
2+
public int[][] insert(int[][] intervals, int[] newInterval) {
3+
List<int[]> list = new ArrayList<>();
4+
5+
int order = 0;
6+
while (order < intervals.length && intervals[order][0] < newInterval[0]) {
7+
list.add(intervals[order]);
8+
order++;
9+
}
10+
list.add(newInterval);
11+
while (order < intervals.length) {
12+
list.add(intervals[order]);
13+
order++;
14+
}
15+
16+
List<int[]> output = new ArrayList<>();
17+
output.add(list.get(0));
18+
19+
for (int i = 1; i < list.size(); i++) {
20+
int[] last = output.get(output.size() - 1);
21+
int[] current = list.get(i);
22+
if (last[1] < current[0]) {
23+
output.add(current);
24+
} else {
25+
last[1] = Math.max(last[1], current[1]);
26+
}
27+
}
28+
29+
return output.toArray(new int[output.size()][]);
30+
}
31+
}

0 commit comments

Comments
 (0)