Skip to content

Commit

Permalink
Create 56-Merge-Intervals.java
Browse files Browse the repository at this point in the history
  • Loading branch information
SharmaTushar1 authored Jul 6, 2022
1 parent 4412474 commit cf2f73b
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions java/56-Merge-Intervals.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Solution {
public int[][] merge(int[][] intervals) {
ArrayList<int[]> ans = new ArrayList<>();
Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0]));
ans.add(intervals[0]);
for (int i = 1; i<intervals.length; i++) {
int prevStart = ans.get(ans.size()-1)[0];
//comparing the values of prevEnd and curEnd
int curStart = intervals[i][0];
if (curStart<=ans.get(ans.size()-1)[1]) {
//do the merging
ans.get(ans.size()-1)[1] = Math.max(ans.get(ans.size()-1)[1], intervals[i][1]);
} else {
ans.add(intervals[i]);
}
}
int[][] res = new int[ans.size()][2];
ans.toArray(res);
return res;
}
}

0 comments on commit cf2f73b

Please sign in to comment.