8000 refactor 57 · githubniraj/Leetcode@55fdae0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 55fdae0

Browse files
refactor 57
1 parent c270ffc commit 55fdae0

File tree

1 file changed

+4
-14
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+4
-14
lines changed

src/main/java/com/fishercoder/solutions/_57.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,22 @@ public int[][] insert(int[][] intervals, int[] newInterval) {
1010
List<int[]> list = new ArrayList<>();
1111
int i = 0;
1212
// add all the intervals ending before newInterval starts
13-
while (i < intervals.length && intervals[i][intervals[i].length - 1] < newInterval[0]) {
13+
while (i < intervals.length && intervals[i][1] < newInterval[0]) {
1414
list.add(intervals[i++]);
1515
}
1616
// merge all overlapping intervals to one considering newInterval
17-
while (i < intervals.length && intervals[i][0] <= newInterval[newInterval.length - 1]) {
17+
while (i < intervals.length && intervals[i][0] <= newInterval[1]) {
1818
newInterval = new int[]{ // we could mutate newInterval here also
1919
Math.min(newInterval[0], intervals[i][0]),
20-
Math.max(newInterval[newInterval.length - 1], intervals[i][intervals[i].length - 1])};
20+
Math.max(newInterval[1], intervals[i][1])};
2121
i++;
2222
}
2323
list.add(newInterval);
2424
// add all the rest
2525
while (i < intervals.length) {
2626
list.add(intervals[i++]);
2727
}
28-
return convertToArray(list);
29-
}
30-
31-
private int[][] convertToArray(List<int[]> list) {
32-
int[][] result = new int[list.size()][list.get(0).length];
33-
for (int i = 0; i < list.size(); i++) {
34-
for (int j = 0; j < list.get(i).length; j++) {
35-
result[i][j] = list.get(i)[j];
36-
}
37-
}
38-
return result;
28+
return list.toArray(new int[list.size()][]);
3929
}
4030
}
4131
}

0 commit comments

Comments
 (0)
0