Skip to content

Commit bc15396

Browse files
authored
Update Insert Interval.java
1 parent c616026 commit bc15396

File tree

1 file changed

+16
-29
lines changed

1 file changed

+16
-29
lines changed

Medium/Insert Interval.java

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,19 @@
11
class Solution {
2-
public int[][] insert(int[][] intervals, int[] newInterval) {
3-
List<int[]> result = new ArrayList<>();
4-
int idx = 0;
5-
int newStart = newInterval[0];
6-
int newEnd = newInterval[1];
7-
while (idx < intervals.length && newStart > intervals[idx][0]) {
8-
result.add(intervals[idx++]);
2+
public int[][] insert(int[][] intervals, int[] newInterval) {
3+
List<int[]> result = new ArrayList<>();
4+
int idx = 0;
5+
while (idx < intervals.length && intervals[idx][1] < newInterval[0]) {
6+
result.add(intervals[idx++]);
7+
}
8+
while (idx < intervals.length && newInterval[1] >= intervals[idx][0]) {
9+
newInterval[0] = Math.min(newInterval[0], intervals[idx][0]);
10+
newInterval[1] = Math.max(newInterval[1], intervals[idx][1]);
11+
idx++;
12+
}
13+
result.add(newInterval);
14+
while (idx < intervals.length) {
15+
result.add(intervals[idx++]);
16+
}
17+
return result.toArray(new int[result.size()][]);
918
}
10-
int[] currInterval = new int[2];
11-
if (result.isEmpty() || result.get(result.size() - 1)[1] < newStart) {
12-
result.add(newInterval);
13-
} else {
14-
currInterval = result.remove(result.size() - 1);
15-
currInterval[1] = Math.max(currInterval[1], newEnd);
16-
result.add(currInterval);
17-
}
18-
while (idx < intervals.length) {
19-
currInterval = intervals[idx++];
20-
int start = currInterval[0];
21-
int end = currInterval[1];
22-
if (result.get(result.size() - 1)[1] < start) {
23-
result.add(currInterval);
24-
} else {
25-
currInterval = result.remove(result.size() - 1);
26-
currInterval[1] = Math.max(currInterval[1], end);
27-
result.add(currInterval);
28-
}
29-
}
30-
return result.toArray(new int[result.size()][2]);
31-
}
3219
}

0 commit comments

Comments
 (0)