zoukankan      html  css  js  c++  java
  • leetcode--Merge Intervals

    1.题目描述

    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].

    2.解法分析

    题目很简单。只是自定义的排序仿函数要放在solution类外面,否则会出现如下错误:

    Line 23: no matching function for call to 'sort(std::vector<Interval>::iterator, std::vector<Interval>::iterator, <unresolved overloaded function type>)'
    代码如下:
    /**
     * 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 lc(const Interval &a,const Interval &b)
    {
        return a.start<b.start;
    }
     
    class Solution {
    public:
     
     
        vector<Interval> merge(vector<Interval> &intervals) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            vector<Interval>result;
            if(intervals.empty())return result;
            
            std::sort(intervals.begin(),intervals.end(),lc);
            Interval cur=intervals[0];
            
            int len=intervals.size();
            if(len==1)return intervals;
            
            int i=1;
            while(i<len)
            {
                if(cur.end>=intervals[i].start)
                {
                    cur.end=max(intervals[i].end,cur.end);
                }
                
                else
                {
                    result.push_back(cur);
                    cur=intervals[i];
                }
                i++;
            }
            
            if(result.empty()||result.back().end<cur.start)result.push_back(cur);
            return result;
            
            
            
            
        }
        
    };
  • 相关阅读:
    段落某些子段高量
    CSS 知识点
    PHP 表单与音频知识点及使用
    PHP 标签、表格的知识点与超链接的结合使用
    PHP课程第一天知识点
    java ArrayList集合
    java 引用数据类型(类)
    java 方法重载
    java 方法
    java 二维数组
  • 原文地址:https://www.cnblogs.com/obama/p/3284050.html
Copyright © 2011-2022 走看看