程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> leetcode_56_Merge Intervals

leetcode_56_Merge Intervals

編輯:C++入門知識

leetcode_56_Merge Intervals


 

 

 

 

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) {}
 * };
 */

//方法:先sort,然後再考慮情況合並。復雜度:O(nlogn)
class Solution {
public:
    struct compare {
        bool operator()( const Interval& a , const Interval& b) const {
            if( a.start==b.start) 
                return a.end < b.end;
            else 
                return a.start < b.start;
        }
    };

	vector merge(vector &intervals) {
	    if(intervals.size()==0)
	        return vector();
	    sort(intervals.begin() , intervals.end() , compare());
	    vector ans;
	    Interval temp;
	    temp = intervals[0];
	    for(int i=1; i

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved