zoukankan      html  css  js  c++  java
  • LeetCode OJ--Merge Intervals @

    https://oj.leetcode.com/problems/merge-intervals/

    合并区间

    //排序
    sort(intervals.begin(),intervals.end(),CMPFUN);
    bool CMPFUN(Interval a, Interval b)
    {
        return a.start<b.start;
    }
    /**
     * 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 CMPFUN(Interval a, Interval b)
    {
        return a.start<b.start;
    }
        
    class Solution {
    public:    
        vector<Interval> merge(vector<Interval> &intervals) {
            vector<Interval> ans;
            if(intervals.size() == 0)
                return ans;
                
            //排序
            sort(intervals.begin(),intervals.end(),CMPFUN);
            
            size_t index = 0;
            
            while(index < intervals.size())
            {
                int start = intervals[index].start;
                int end = intervals[index].end;
                while((index + 1< intervals.size()) && end >= intervals[index + 1].start)
                {
                    if(end < intervals[index + 1].end)
                        end = intervals[index + 1].end;
                    index++;
                }
                intervals[index].start = start;
                intervals[index].end = end;
                ans.push_back(intervals[index]);
                index++;
            }
            return ans;
        }
    };
  • 相关阅读:
    string用法
    动手动脑
    你已经创建了多少个对象?
    动手动脑
    课程作业2
    课程作业1
    课程作业2
    《大道至简》第一章观后感
    java虚拟机内存区域
    Gitbook安装使用教程
  • 原文地址:https://www.cnblogs.com/qingcheng/p/3871528.html
Copyright © 2011-2022 走看看