Merge Intervals 合并区间
来源:互联网 发布:质量数据分析管理办法 编辑:程序博客网 时间:2024/05/22 10:29
题目:
点击打开链接
解答:
按照start的大小对vector<Interval> intervals进行排序,排序之后根据end和start大小的比较 生成新的区间,记得循环结束后还要插入一个区间。
注意cmp函数的标准写法。!!!
cmp函数不能放在类里面。
代码:
//比较函数的标准写法 //返回值 bool //参数 const Interval &a // const 型 引用 bool cmp(const Interval &a, const Interval &b) { return a.start < b.start; } class Solution { public: vector<Interval> merge(vector<Interval> &intervals) { int begin, end; vector<Interval> res; if (intervals.size() == 0) return res; //排序 sort(intervals.begin(), intervals.end(), cmp); begin = intervals[0].start; end = intervals[0].end; for (int i = 1; i < intervals.size(); i++) { if (intervals[i].start > end) { Interval *temp = new Interval(begin, end); res.push_back(*temp); begin = intervals[i].start; end = intervals[i].end; } else { end = intervals[i].end > end ? intervals[i].end : end; } } Interval *temp = new Interval(begin, end); res.push_back(*temp); return res; } };
0 0
- 【区间合并】Merge Intervals
- Merge Intervals 合并区间
- 合并区间 Merge Intervals
- Merge Intervals 合并区间@LeetCode
- Merge Intervals 多区间合并
- LeetCode | Merge Intervals(合并区间间隔)
- LeetCode-56 Merge Intervals(合并区间)
- leetcode-56 Merge Intervals 合并区间
- LeetCode 56. Merge Intervals(合并区间)
- 56. Merge Intervals 对区间进行合并
- Leetcode 56 - Merge Intervals(区间合并)
- Array----- 56. Merge Intervals(合并区间)
- LeetCode 56. Merge Intervals 合并区间
- leetcode 56. Merge Intervals 区间合并
- LeetCode OJ 之 Merge Intervals(合并区间)
- leetCode 56.Merge Intervals (合并区间) 解题思路和方法
- 156.Merge Intervals-合并区间(容易题)
- LeetCode----56. Merge Intervals(合并包含重复区间的数组)
- PROC系列之---/proc/pid/stat
- 访问者模式之C++实现
- Next Permutation
- top命令详解
- uva 10012
- Merge Intervals 合并区间
- CF377B Preparing for the Contest [贪心+优先队列]
- liunx下lnmp环境安装
- A20内核编译错误undefined reference to `hwmon_device_register'
- 等腰三角形
- centos 打开or关闭防火墙
- 【转】可重入函数
- 今后的岁月,让我们一起了解,多少天长地久 会细水长流。
- Elevator(1008)