当前位置:网站首页>力扣 729. 我的日程安排表 I
力扣 729. 我的日程安排表 I
2022-07-05 19:18:00 【冷酷的摸鱼小将】
题目
实现一个 MyCalendar 类来存放你的日程安排。如果要添加的日程安排不会造成 重复预订 ,则可以存储这个新的日程安排。
当两个日程安排有一些时间上的交叉时(例如两个日程安排都在同一时间内),就会产生 重复预订 。
日程可以用一对整数 start 和 end 表示,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start <= x < end 。
实现 MyCalendar 类:
MyCalendar() 初始化日历对象。
boolean book(int start, int end) 如果可以将日程安排成功添加到日历中而不会导致重复预订,返回 true 。否则,返回 false 并且不要将该日程安排添加到日历中。
示例
输入:
[“MyCalendar”, “book”, “book”, “book”]
[[], [10, 20], [15, 25], [20, 30]]
输出:
[null, true, false, true]
解释:
MyCalendar myCalendar = new MyCalendar();
myCalendar.book(10, 20); // return True
myCalendar.book(15, 25); // return False ,这个日程安排不能添加到日历中,因为时间 15 已经被另一个日程安排预订了。
myCalendar.book(20, 30); // return True ,这个日程安排可以添加到日历中,因为第一个日程安排预订的每个时间都小于 20 ,且不包含时间 20 。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/my-calendar-i
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法1:模拟
Java实现
class MyCalendar {
List<int[]> list;
public MyCalendar() {
list = new ArrayList<>();
}
public boolean book(int start, int end) {
end--; //
for (int[] var : list) {
int l = var[0], r = var[1];
if (start > r || end < l) continue;
return false;
}
list.add(new int[]{
start, end});
return true;
}
}
边栏推荐
- word如何转换成pdf?word转pdf简单的方法分享!
- Postman核心功能解析-参数化和测试报告
- XaaS 陷阱:万物皆服务(可能)并不是IT真正需要的东西
- Django uses mysqlclient service to connect and write to the database
- PHP uses ueditor to upload pictures and add watermarks
- Summer Challenge database Xueba notes, quick review of exams / interviews~
- cf:B. Almost Ternary Matrix【對稱 + 找規律 + 構造 + 我是構造垃圾】
- The binary string mode is displayed after the value with the field type of longtext in MySQL is exported
- [Collection - industry solutions] how to build a high-performance data acceleration and data editing platform
- Debezium系列之:修改源码支持drop foreign key if exists fk
猜你喜欢
Technology sharing | common interface protocol analysis
Oracle故障处理:Ora-10873:file * needs to be either taken out of backup or media recovered
[performance test] jmeter+grafana+influxdb deployment practice
Android面试,android音视频开发
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
Reflection and imagination on the notation like tool
如何在2022年更明智地应用智能合约?
Hiengine: comparable to the local cloud native memory database engine
The relationship between temperature measurement and imaging accuracy of ifd-x micro infrared imager (module)
Go语言 | 02 for循环及常用函数的使用
随机推荐
Microwave radar induction module technology, real-time intelligent detection of human existence, static micro motion and static perception
Fuzor 2020軟件安裝包下載及安裝教程
vagrant2.2.6支持virtualbox6.1版本
Golang through pointer for Range implements the change of the value of the element in the slice
软件测试是干什么的?学习有啥要求?
Blue sky drawing bed Apple quick instructions
android中常见的面试题,2022金九银十Android大厂面试题来袭
#夏日挑战赛#数据库学霸笔记,考试/面试快速复习~
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
Debezium系列之:解析默认值字符集
【硬核干货】数据分析哪家强?选Pandas还是选SQL
手把手教你处理 JS 逆向之图片伪装
Ten years at sea: old and new relay, dark horse rising
Analysis of postman core functions - parameterization and test report
面试官:Redis中集合数据类型的内部实现方式是什么?
详解SQL中Groupings Sets 语句的功能和底层实现逻辑
关于 Notion-Like 工具的反思和畅想
Common - Hero Minesweeper
JAD的安装、配置及集成IDEA
决策树与随机森林