当前位置:网站首页>LeetCode中等题之我的日程安排表 I
LeetCode中等题之我的日程安排表 I
2022-07-07 04:47: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 。
提示:
0 <= start < end <= 10^9
每个测试用例,调用 book 方法的次数最多不超过 1000 次。
来源:力扣(LeetCode)
解题思路
用一个最简单的方法来记录一下。
class MyCalendar:
def __init__(self):
self.record=[]
def book(self, start: int, end: int) -> bool:
if not self.record:
self.record.append([start,end])
return True
else:
for i in self.record:
if i[0]<end and i[1]>start:
return False
self.record.append([start,end])
return True
# Your MyCalendar object will be instantiated and called as such:
# obj = MyCalendar()
# param_1 = obj.book(start,end)
边栏推荐
- Qt学习27 应用程序中的主窗口
- LeetCode 90:子集 II
- Cnopendata list data of Chinese colleges and Universities
- 【数字IC验证快速入门】14、SystemVerilog学习之基本语法1(数组、队列、结构体、枚举、字符串...内含实践练习)
- 【数字IC验证快速入门】12、SystemVerilog TestBench(SVTB)入门
- 芯片资料 网站 易特创芯
- [quickstart to Digital IC Validation] 15. Basic syntax for SystemVerilog Learning 2 (operator, type conversion, loop, Task / Function... Including practical exercises)
- php导出百万数据
- paddlepaddle 29 无模型定义代码下动态修改网络结构(relu变prelu,conv2d变conv3d,2d语义分割模型改为3d语义分割模型)
- 【數字IC驗證快速入門】15、SystemVerilog學習之基本語法2(操作符、類型轉換、循環、Task/Function...內含實踐練習)
猜你喜欢
Wechat applet data binding multiple data
Cnopendata list data of Chinese colleges and Universities
Force buckle 144 Preorder traversal of binary tree
Explore dry goods! Apifox construction ideas
快速使用 Jacoco 代码覆盖率统计
Operation suggestions for today's spot Silver
SQL优化的魅力!从 30248s 到 0.001s
Quickly use Jacobo code coverage statistics
[UTCTF2020]file header
[experience sharing] how to expand the cloud service icon for Visio
随机推荐
B. Value sequence thinking
【webrtc】m98 screen和window采集
自定义类加载器加载网络Class
Button wizard collection learning - mineral medicine collection and running map
芯片资料 网站 易特创芯
Chip design data download
【数字IC验证快速入门】12、SystemVerilog TestBench(SVTB)入门
2022茶艺师(初级)考试题模拟考试题库及在线模拟考试
C language flight booking system
C language queue
[Matlab] Simulink 自定义函数中的矩阵乘法工作不正常时可以使用模块库中的矩阵乘法模块代替
pytest+allure+jenkins安装问题:pytest: error: unrecognized arguments: --alluredir
misc ez_ usb
Rust versus go (which is my preferred language?)
【数字IC验证快速入门】15、SystemVerilog学习之基本语法2(操作符、类型转换、循环、Task/Function...内含实践练习)
2022焊工(初级)判断题及在线模拟考试
[unity] several ideas about circular motion of objects
Leetcode 90: subset II
Custom class loader loads network class
[matlab] when matrix multiplication in Simulink user-defined function does not work properly, matrix multiplication module in module library can be used instead