Untitled
plain_text
2 months ago
1.1 kB
36
Indexable
Never
/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(int s, int e) { start = s; end = e; } * } */ import java.util.*; public class Solution { public Interval[] merge(Interval[] arr) { Arrays.sort(arr, new Comparator<Interval>(){ public int compare(Interval one, Interval two){ return one.start - two.start; //defualt behaviour } }); int l = arr[0].start, r = arr[0].end; ArrayList<Interval> ans = new ArrayList<>(); for(int i = 1; i < arr.length; i++){ if(arr[i].start <= r){ r = Math.max(r, arr[i].end); }else{ ans.add(new Interval(l, r)); l = arr[i].start; r = arr[i].end; } } ans.add(new Interval(l, r)); Interval[] a = new Interval[ans.size()]; for(int i = 0 ; i < a.length; i++){ a[i] = ans.get(i); } return a; } }