zoukankan      html  css  js  c++  java
  • 056 Merge Intervals 合并区间

    给出一个区间的集合, 请合并所有重叠的区间。
    示例:
    给出 [1,3],[2,6],[8,10],[15,18],
    返回 [1,6],[8,10],[15,18].
    详见:https://leetcode.com/problems/merge-intervals/description/

    Java实现:

    /**
     * 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; }
     * }
     */
    class Solution {
        public List<Interval> merge(List<Interval> intervals) {
            List<Interval> res=new LinkedList<Interval>();
            int size=intervals.size();
            if(intervals==null||size==0){
                return res;
            }
            Collections.sort(intervals,new Comparator<Interval>(){
                @Override
                public int compare(Interval o1,Interval o2){
                    if(o1.start<o2.start){
                        return -1;
                    }else if(o1.start>o2.start){
                        return 1;
                    }else{
                        return 0;
                    }
                }
            });
            res.add(intervals.get(0));
            for(int i=1;i<size;++i){
                Interval cur=intervals.get(i);
                Interval top=res.get(res.size()-1);
                if(top.end>=cur.start){
                    top.end=top.end>cur.end?top.end:cur.end;
                }else{
                    res.add(cur);
                }
            }
            return res;
        }
    }
    

    参考:https://blog.csdn.net/zdavb/article/details/47252657 

  • 相关阅读:
    使用PIE.htc 进行IE兼容CSS3
    好用的px转rem插件cssrem
    BOM基础知识
    css经典布局—stick footer布局
    input file 上传图片问题
    除自身以外数组的乘积
    2的幂
    反转字符串中的单词
    环形链表
    买卖股票的最佳时机2
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8698399.html
Copyright © 2011-2022 走看看