LeetCode: Merge Intervals
来源:互联网 发布:怎么做网络主播 编辑:程序博客网 时间:2024/06/15 08:09
思路:先对区间进行排序,按照起始点进行升序排列,然后使用贪心算法,对于目前的区间[start, end],找到下一个区间[start_i, end_i] ,因为已经排好序了,所以,start_i >= start,只考虑与end的比较,如果start_i <end 说明区间有重合,可以合并,如果start_i > end说明与当前区间没有交集,将当前区间存入解向量中,继续后面的搜索。
code:
bool cmp(const Interval &A, const Interval &B ){ return A.start < B.start;}class Solution {public: vector<Interval> merge(vector<Interval> &intervals) { vector<Interval> ret; if(intervals.empty())return ret; sort(intervals.begin(),intervals.end(),cmp); Interval curInter = intervals[0]; for(int i=1;i<intervals.size();i++){ if(intervals[i].start <= curInter.end) curInter.end = max(curInter.end,intervals[i].end); else{ ret.push_back(curInter); curInter = intervals[i]; } } ret.push_back(curInter); return ret; }};
0 0
- LeetCode: Merge Intervals
- LeetCode Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- leetcode 28: Merge Intervals
- Leetcode: Merge Intervals
- [LeetCode] Merge Intervals
- [LeetCode]Merge Intervals
- leetcode merge intervals
- [leetcode]Merge Intervals
- LeetCode-Merge Intervals
- [leetcode] Merge Intervals
- LeetCode - Merge Intervals
- 【leetcode】Merge Intervals
- leetcode Merge Intervals
- LeetCode Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode | Merge Intervals
- AndroidCamera开发详解二 实现触摸对焦功能
- android 面试准备基础题
- MAVEN OOM
- LeetCode 36. Sudoku Solver
- Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介 - OnTheRoad_Lee
- LeetCode: Merge Intervals
- 近期ubuntu 14.04 cpu占用高排障
- iptables的相关概念和数据包的流程
- ArcGIS教程:在Desktop中使用地理处理任务(一)
- 你的网站适合使用网站加速服务吗?
- HDU3853-LOOPS(概率DP求期望)
- BeanWapper BeanWapperImpl
- 跳跃表详解
- Tomcat 数据源