MCPcopy Index your code
hub / github.com/Blankj/awesome-java-leetcode / merge

Method merge

src/com/blankj/medium/_0056/Solution.java:18–42  ·  view source on GitHub ↗
(List<Interval> intervals)

Source from the content-addressed store, hash-verified

16 */
17public class Solution {
18 public List<Interval> merge(List<Interval> intervals) {
19 if (intervals == null || intervals.size() <= 1) return intervals;
20 intervals.sort(new Comparator<Interval>() {
21 @Override
22 public int compare(Interval o1, Interval o2) {
23 if (o1.start < o2.start) return -1;
24 if (o1.start > o2.start) return 1;
25 return 0;
26 }
27 });
28 List<Interval> ans = new ArrayList<>();
29 int start = intervals.get(0).start;
30 int end = intervals.get(0).end;
31 for (Interval interval : intervals) {
32 if (interval.start <= end) {
33 end = Math.max(end, interval.end);
34 } else {
35 ans.add(new Interval(start, end));
36 start = interval.start;
37 end = interval.end;
38 }
39 }
40 ans.add(new Interval(start, end));
41 return ans;
42 }
43
44 public static void main(String[] args) {
45 Solution solution = new Solution();

Callers 1

mainMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected