没有合适的资源?快使用搜索试试~ 我知道了~
PatrickZH#Algorithm_Interview_Notes-Chinese#专题-C-区间问题1
需积分: 0 0 下载量 151 浏览量
2022-07-25
14:34:23
上传
评论
收藏 5KB MD 举报
温馨提示
试读
思路- 排序后判断左右区间// 原题使用的是自定义结构,需要自定义排序,为了方便使用 pair 重新存储会议室 II(扫描线算法)LintCode - 919.
资源推荐
资源详情
资源评论
专题-区间问题
===
基本方法
---
- **双指针**(滑动窗口)
- 定长滑动
- 变长滑动
- **扫描线算法**
Index
---
- [会议室](#会议室)
- [会议室 II(扫描线算法)](#会议室-ii扫描线算法)
- [合并区间](#合并区间)
- [划分字母区间(双指针)](#划分字母区间双指针)
### 会议室
> LintCode - [920. 会议室](https://www.lintcode.com/problem/meeting-rooms/description)
**问题描述**
```
给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),
确定一个人是否可以参加所有会议。
样例
给定区间=[[0,30],[5,10],[15,20]],返回false。
```
**思路**
- 排序后判断左右区间
**C++**
```C++
//class Interval {
//public:
// int start, end;
// Interval(int start, int end) {
// this->start = start;
// this->end = end;
// }
//};
class Solution {
public:
bool canAttendMeetings(vector &I) {
vector > tmp;
for (auto i : I) {
tmp.push_back({ i.start, i.end });
// 原题使用的是自定义结构,需要自定义排序,为了方便使用 pair 重新存储
}
sort(tmp.begin(), tmp.end());
int end = 0;
for (auto i : tmp) {
if (i.first >= end) {
end = i.second;
}
else {
return false;
}
}
return true;
}
};
```
### 会议室 II(扫描线算法)
> LintCode - [919. 会议室 II](https://www.lintcode.com/problem/meeting-rooms-ii/description
点击阅读更多
资源评论
老光私享
- 粉丝: 79
- 资源: 255
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功