Skip to content

Commit cf2f73b

Browse files
Create 56-Merge-Intervals.java
1 parent 4412474 commit cf2f73b

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

java/56-Merge-Intervals.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public int[][] merge(int[][] intervals) {
3+
ArrayList<int[]> ans = new ArrayList<>();
4+
Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0]));
5+
ans.add(intervals[0]);
6+
for (int i = 1; i<intervals.length; i++) {
7+
int prevStart = ans.get(ans.size()-1)[0];
8+
//comparing the values of prevEnd and curEnd
9+
int curStart = intervals[i][0];
10+
if (curStart<=ans.get(ans.size()-1)[1]) {
11+
//do the merging
12+
ans.get(ans.size()-1)[1] = Math.max(ans.get(ans.size()-1)[1], intervals[i][1]);
13+
} else {
14+
ans.add(intervals[i]);
15+
}
16+
}
17+
int[][] res = new int[ans.size()][2];
18+
ans.toArray(res);
19+
return res;
20+
}
21+
}

0 commit comments

Comments
 (0)