1065. 我的日程安排表 I
描述
实现MyCalendar类来存储您的活动。 如果新添加的活动没有重复,则可以添加。
你的类将有方法book(int start,int end)。 这代表左闭右开的间隔[start,end)有了预定,范围内的实数x,都满足start <= x < end。
当两个事件有一些非空交集时(即,两个事件在共同的时间都有预定),就会发生重复预订。
每次调用MyCalendar.book方法时,如果没有发生重复预定,那么事件可以成功添加到日历,且返回true。 否则,返回false,并且事件不会添加到日历中。
你的类以此方式被调用:MyCalendar cal = new MyCalendar(); MyCalendar.book(start, end);
每个测试样例调用 MyCalendar.book 的次数最多为 1000。
调用MyCalendar.book(start, end)时, start 和 end 都是 [0, 10^9]范围内的整数。
样例
MyCalendar();
MyCalendar.book(10, 20); // 返回true
MyCalendar.book(15, 25); // 返回false
MyCalendar.book(20, 30); // 返回true
解释:
第一个事件可以预定。 第二个不行,因为15已经被预定。
第三个事件可以预定,因为第一个事件预定了20以前的时间,但不包括20.
class MyCalendar {
public:
map<int,int> store;
MyCalendar() {
}
bool book(int start, int end) {
auto next = store.lower_bound(start);
if (next!=store.end() && next->first < min(end, next->second)) return false;
if (next!=store.begin() && start < min((--next)->second, end)) return false;
store.emplace(start, end);
return true;
}
};
/**
* Your MyCalendar object will be instantiated and called as such:
* MyCalendar obj = new MyCalendar();
* bool param_1 = obj.book(start,end);
*/
1065. 我的日程安排表 I的更多相关文章
- 【BZOJ 1065】【Vijos 1826】【NOI 2008】奥运物流
http://www.lydsy.com/JudgeOnline/problem.php?id=1065 https://vijos.org/p/1826 好难的题啊TWT ∈我这辈子也想不出来系列~ ...
- bzoj 1065: [NOI2008] 奥运物流
1065: [NOI2008] 奥运物流 Description 2008北京奥运会即将开幕,举国上下都在为这一盛事做好准备.为了高效率.成功地举办奥运会,对物流系统 进行规划是必不可少的.物流系统由 ...
- [hihoCoder#1065]全图传送
[hihoCoder#1065]全图传送 试题描述 先知法里奥是 Dota 系列中的一个英雄.机动性强,推塔能力一流,打钱速度快,传送技能使先知可以全地图支援.在后期比拼中通过强大的兵线控制能力使得对 ...
- POJ 1065
http://poj.org/problem?id=1065 题目的大体意思就是给一些木头长l,重w,有一个机器,如果切割这些木头的话,在i后面切割的i+1根木头满足长度和重量都要大于等于前一根则不需 ...
- 深度优先搜索 codevs 1065 01字符串
codevs 1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 输出仅有0和1组成的长度为n的字符串,并且 ...
- 51nod 1065 最小正子段和
题目链接:51nod 1065 最小正子段和 房教说用前缀和做,然后看了别人博客懂了后就感觉,这个真有意思... #include<cstdio> #include<cstring& ...
- poj -1065 Wooden Sticks (贪心or dp)
http://poj.org/problem?id=1065 题意比较简单,有n跟木棍,事先知道每根木棍的长度和宽度,这些木棍需要送去加工,第一根木棍需要一分钟的生产时间,如果当前木棍的长度跟宽度 都 ...
- PAT 1065 A+B and C (64bit) (20)
1065. A+B and C (64bit) (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming G ...
- Codevs 1065 01字符串
1065 01字符串 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 输出仅有0和1组成的长度为n的字符串,并且其中不能含有 ...
随机推荐
- C# 基础知识之 Unix 时间戳转换
unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. /// 时间戳转为C#格式时间 private DateTime GetTime(string timeSt ...
- 基于diango简易BLOG图片预览
注册界面 登陆界面 博客主界面 个人站点主页 文章详情页 个人博客后台 添加文章页 修改密码页
- CSAPP:第三章程序的机器级表示2
CSAPP:程序的机器级表示2 关键点:算术.逻辑操作 算术逻辑操作1.加载有效地址2.一元二元操作3.移位操作 算术逻辑操作 如图列出了x86-64的一些整数和逻辑操作,大多数操作分成了指令类( ...
- ansible-playbook 实战案例 全网备份 实时备份
目录 ansible-playbook 基础介绍 1.YAML三板斧 2. ansible playbook 安装apache 示例 案例 全网备份 实时备份 环境规划 目录规划 base.yaml ...
- Flask中无法在其他函数中查询Sqlachemy的解决办法
报错信息部分截取: File "D:\python 3.5\lib\site-packages\flask_sqlalchemy\__init__.py", line 912, i ...
- APP耗电量测试
现象 APP耗电,导致电池续航能力不佳,如下图,在小米MIX2和iPhone X机型上后台静默一小时各应用的耗电排行: 基本概念 相对于PC来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为 ...
- JSON.stringify()和JSON.parse()的作用
(1)JSON.stringify() 从一个对象中解析出字符串 JSON.stringify({“a”:”1”,”b”:”2”}) 结果是:”{“a”:”1”,”b”:”2”}” (2)JSON.p ...
- JavaScript输入表单数据正则验证规则
emailNameReg: /^(([a-zA-Z0-9]+\w*((\.\w+)|(-\w+))*[\.-]?[a-zA-Z0-9]+)|([a-zA-Z0-9]))$/, //匹配邮箱名称 ema ...
- MySQL 数据库规范--调优篇(终结篇)
前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱.MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法. 目录 1.MySQL 调优金字塔理论 2.MyS ...
- http基本get和post请求
get请求: private static void httpGet(){ BufferedReader br = null; HttpURLConnection conn = null; try { ...