Leetcode56. Merge Intervals合并区间
2024-10-02 02:41:04
给出一个区间的集合,请合并所有重叠的区间。
示例 1:
输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。
struct Interval {
int start;
int end;
Interval() : start(0), end(0) {}
Interval(int s, int e) : start(s), end(e) {}
};
bool cmp2(Interval x, Interval y)
{
if(x.start != y.start)
return x.start < y.start;
else
return x.end < y.end;
}
class Solution {
public:
vector<Interval> merge(vector<Interval>& intervals)
{
vector<Interval> res;
int len = intervals.size();
if(len == 0)
return res;
sort(intervals.begin(), intervals.end(), cmp2);
res.push_back(intervals[0]);
int cnt = 0;
for(int i = 1; i < len; i++)
{
if(intervals[i].start <= res[cnt].end)
{
if(intervals[i].end <= res[cnt].end)
continue;
else
{
res[cnt].end = intervals[i].end;
}
}
else
{
res.push_back(intervals[i]);
cnt++;
}
}
return res;
}
};
最新文章
- linux 安装一些命令
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(一)
- 今天执行grep命令差点把服务器搞崩
- 20135316王剑桥 linux第十周课实验笔记
- Android TabHost TabWidget 去除黑线(底部下划线)
- 执行shell脚本提示“syntax error near unexpected token for((i=0;i&;lt;$length;i++))”
- Nginx之旅系列 - Nginx日志功能 PK Linux内核printk
- js 上下切换图片
- Windows Server 2016-重置目录还原模式密码
- 用javah 导出类的头文件, 常见的错误及正确的使用方法
- HFun.快速开发平台(五)=》自定义系统数据选择
- 修改pudb颜色
- 【leetcode-75】 颜色分类
- 咏南WEB APP开发框架
- Cortex-M3 跳转到指定bin执行
- Gym 101775J Straight Master(差分数组)题解
- Linux rcp命令详解
- 程序员必知的8大排序(四)-------归并排序,基数排序(java实现)
- hdu1165 规律递推
- Android的相关事件