LeetCode-56 Merge Intervals
思路:
1.先将输入集合按照start大小排序,对集合的排序可以利用Collections.sort()方法,并实现Comparator<T>接口。
2.对排好序的集合进行合并
代码如下:
public List<Interval> merge(List<Interval> intervals) { if(intervals == null || intervals.size() < 2) return intervals; Collections.sort(intervals, new Comparator<Interval>() { @Override public int compare(Interval o1, Interval o2) { return o1.start - o2.start; } }); List<Interval> list = new ArrayList<Interval>(); list.add(intervals.get(0)); for(int i=1; i<intervals.size(); i++) { Interval current = intervals.get(i); Interval result = list.get(list.size()-1); if(current.start > result.end) { list.add(current); } else if(current.end > result.end) { list.remove(list.size()-1); list.add(new Interval(result.start, current.end)); } } return list; }
posted on 2015-03-02 17:35 linxiong1991 阅读(100) 评论(0) 收藏 举报
浙公网安备 33010602011771号