zoukankan      html  css  js  c++  java
  • LeetCode Insert Interval

     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 Solution;
    11 bool incmp(struct Interval  a,struct Interval  b)
    12      {
    13          return  a.start<b.start;
    14      }
    15 class Solution {
    16 public:
    17     void mer(vector<Interval> &v,int &i)
    18      {
    19          if(v[i+1].start<=v[i].end)
    20          {
    21              if(v[i].end<v[i+1].end)
    22                  v[i].end=v[i+1].end;
    23              v.erase((vector<Interval>::iterator)(&v[i+1]));
    24              i--;
    25          }
    26      }
    27     vector<Interval> insert(vector<Interval> &intervals, Interval newInterval) {
    28         // Start typing your C/C++ solution below
    29         // DO NOT write int main() function
    30         intervals.push_back(newInterval);
    31         if(intervals.size()<2)
    32              return intervals;
    33          sort(intervals.begin(),intervals.end(),incmp);
    34        
    35          for(int i=0;i<intervals.size()-1;i++)
    36          {
    37              mer(intervals,i);
    38          }
    39          return intervals;
    40     }
    41 };
  • 相关阅读:
    浮点数
    2020.07.13
    2020.07.07
    2020.07.06
    剑指offer(三)
    剑指offer(二)
    剑指offer
    堆排序
    归并排序
    希尔排序
  • 原文地址:https://www.cnblogs.com/mengqingzhong/p/3114863.html
Copyright © 2011-2022 走看看