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

    简单题:先按左左边排序,然后对输入的区间和当前结果合并

     1 /**
     2  * Definition for an interval.
     3  * struct Interval {
     4  *     int start;
     5  *     int end;
     6  *     Interval() : start(0), end(0) {}
     7  *     Interval(int s, int e) : start(s), end(e) {}
     8  * };
     9  */
    10 class cmp
    11 {
    12     public:
    13     bool operator()(const Interval&a,const Interval&b)
    14     {
    15         return a.start < b.start;
    16     }
    17 };
    18 bool comp(const Interval &lhs, const Interval &rhs)
    19  {
    20      return lhs.start < rhs.start;
    21  }
    22 class Solution {
    23 public:
    24     vector<Interval> merge(vector<Interval> &intervals) {
    25         sort(intervals.begin(),intervals.end(),cmp());
    26         vector<Interval> ret;
    27         int i;
    28         for(i = 0 ; i < intervals.size() ; ++i)
    29         {
    30             if(i == 0)
    31             {
    32                 ret.push_back(intervals[0]);
    33             }
    34             else
    35             {
    36                 int size = ret.size();
    37                  if (ret[size-1].start <= intervals[i].start && intervals[i].start <= ret[size-1].end)
    38                      ret[size-1].end = max(ret[size-1].end, intervals[i].end);
    39                  else
    40                      ret.push_back(intervals[i]);
    41             }
    42         }
    43         return ret;
    44     }
    45 };
  • 相关阅读:
    SQL注入
    SQL注入
    CSRF
    Docker官方Tomcat映像修改Server.xml
    github+jenkins+maven+docker自动化构建部署
    Docker下的Jenkins
    拿来即用学PYTHON:序
    Python-字典
    Python-列表与元组
    程序员英语轻松学1
  • 原文地址:https://www.cnblogs.com/cane/p/3901540.html
Copyright © 2011-2022 走看看