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

     //风格比较差,用时较长:712ms
    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 18 void mer(vector<Interval> &v,int &i) 19 { 20 if(v[i+1].start<=v[i].end) 21 { 22 if(v[i].end<v[i+1].end) 23 v[i].end=v[i+1].end; 24 v.erase((vector<Interval>::iterator)(&v[i+1])); 25 i--; 26 } 27 } 28 vector<Interval> merge(vector<Interval> &intervals) { 29 // Start typing your C/C++ solution below 30 // DO NOT write int main() function 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 };
  • 相关阅读:
    python:返回函数,闭包
    对象的行为和数组
    类、对象和包
    Java语言中的程序流程控制
    初识Java,Java语言概述
    有限广播地址与直接广播地址
    H3C模拟器HCL注意事项
    HDLC协议
    NETBIOS的作用
    HP DL380G7 RAID配置
  • 原文地址:https://www.cnblogs.com/mengqingzhong/p/3114838.html
Copyright © 2011-2022 走看看