Skip to content

Commit 97c6f39

Browse files
committed
Updated Merge Intervals.java
1 parent 92994b4 commit 97c6f39

File tree

1 file changed

+15
-19
lines changed

1 file changed

+15
-19
lines changed

Medium/Merge Intervals.java

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
11
class Solution {
2-
public int[][] merge(int[][] intervals) {
3-
Arrays.sort(intervals, Comparator.comparingInt((int[] o) -> o[0]).thenComparingInt(o -> o[1]));
4-
List<int[]> mergedIntervals = new ArrayList<>();
5-
int idx = 0;
6-
while (idx < intervals.length) {
7-
int currentStart = intervals[idx][0];
8-
int currentEnd = intervals[idx][1];
9-
idx++;
10-
while (idx < intervals.length && intervals[idx][0] <= currentEnd) {
11-
currentEnd = Math.max(intervals[idx][1], currentEnd);
12-
idx++;
13-
}
14-
mergedIntervals.add(new int[]{currentStart, currentEnd});
2+
public int[][] merge(int[][] intervals) {
3+
Arrays.sort(intervals, Comparator.comparingInt((int[] o) -> o[0])
4+
.thenComparingInt(o -> o[1]));
5+
int idx = 0;
6+
List<int[]> result = new ArrayList<>();
7+
while (idx < intervals.length) {
8+
int start = intervals[idx][0];
9+
int end = intervals[idx][1];
10+
idx++;
11+
while (idx < intervals.length && intervals[idx][0] <= end) {
12+
end = Math.max(end, intervals[idx++][1]);
13+
}
14+
result.add(new int[]{start, end});
15+
}
16+
return result.toArray(new int[][]{});
1517
}
16-
int[][] result = new int[mergedIntervals.size()][2];
17-
for (int i = 0; i < mergedIntervals.size(); i++) {
18-
result[i] = mergedIntervals.get(i);
19-
}
20-
return result;
21-
}
2218
}

0 commit comments

Comments
 (0)