Merge intervals
Java
Hard
5 views
Problem Description
Task: given intervals, merge overlapping ones and return merged list.
Output Format
Return value
Constraints
Sort by start first.
Official Solution
static int[][] mergeIntervals(int[][] a){if(a.length==0) return new int[0][0];java.util.Arrays.sort(a,(x,y)->Integer.compare(x[0],y[0]));java.util.ArrayList<int[]> res=new java.util.ArrayList<>();int s=a[0][0],e=a[0][1];for(int i=1;i<a.length;i++){if(a[i][0]<=e){if(a[i][1]>e) e=a[i][1];}else{res.add(new int[]{s,e});s=a[i][0];e=a[i][1];}}res.add(new int[]{s,e});return res.toArray(new int[0][]);}
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!