Merge Intervals – Leetcode Java | Welkin Lan
For example, /** * 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; } * } */ public class Solution { public List
merge(List intervals) { List result = new ArrayList(); if (intervals == null || intervals.size() == 0) { return result; } Collections.sort(intervals, new Comparator() { @Override public int compare(Interval i1, Interval i2){ return i1.start - i2.start; } }); Interval cur = intervals.get(0); for (int i = 1; i < intervals.size(); i++) { if (cur.end >= intervals.get(i).start) { cur.end = Math.max(cur.end, intervals.get(i).end); } else{ result.add(cur); cur = intervals.get(i);
Read full article from Merge Intervals – Leetcode Java | Welkin Lan
No comments:
Post a Comment