zoukankan      html  css  js  c++  java
  • LeetCode_Merge Intervals

    Given a collection of intervals, merge all overlapping intervals.
    
    For example,
    Given [1,3],[2,6],[8,10],[15,18],
    return [1,6],[8,10],[15,18].
    

      

    /**
     * Definition for an interval.
     * struct Interval {
     *     int start;
     *     int end;
     *     Interval() : start(0), end(0) {}
     *     Interval(int s, int e) : start(s), end(e) {}
     * };
     */
     
        bool sortM(const  Interval &a1, const  Interval &a2)
        {
          return a1.start < a2.start ;
        }
    class Solution {
    public:
       
        vector<Interval> merge(vector<Interval> &intervals) {
           
            int n = intervals.size();
            if(intervals.size() <2) return intervals;
            sort(intervals.begin(),intervals.end(),sortM);
            
            int i,max;
            Interval next,val = intervals[0]; 
            vector<Interval> result;
            
            for(i = 1; i< n; i++)
            {
                if(intervals[i].start > val.end){                 
                     result.push_back(val);
                     val = intervals[i] ;
                }else{
                   val.end = val.end >intervals[i].end ? val.end : intervals[i].end;
                }
            } //end of for i
            result.push_back(val) ; 
            return result ;
          
        }
    };
    --------------------------------------------------------------------天道酬勤!
  • 相关阅读:
    Hadoop2.8.2 运行wordcount
    RHEL7.2 安装Hadoop-2.8.2
    RHEL7.2 SSH无密码登录非root用户
    python day 1 homework 2
    python day 1 homework 1
    python三种格式化输出
    windwos 10 安装flask
    ubunit 16 安装pip
    Axure 8 Tab制作
    JavaScript平台Platypi悄然登场
  • 原文地址:https://www.cnblogs.com/graph/p/3063996.html
Copyright © 2011-2022 走看看