Ai
1 Star 2 Fork 5

LilithSangreal/LeetCode-Solutions

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
my-calendar-i.py 1.39 KB
一键复制 编辑 原始数据 按行查看 历史
Allen Liu 提交于 2018-10-13 13:24 +08:00 . update
# Time: O(nlogn) on average, O(n^2) on worst case
# Space: O(n)
class Node(object):
def __init__(self, start, end):
self.__start = start
self.__end = end
self.__left = None
self.__right = None
def insert(self, node):
if node.__start >= self.__end:
if not self.__right:
self.__right = node
return True
return self.__right.insert(node)
elif node.__end <= self.__start:
if not self.__left:
self.__left = node
return True
return self.__left.insert(node)
else:
return False
class MyCalendar(object):
def __init__(self):
self.__root = None
def book(self, start, end):
"""
:type start: int
:type end: int
:rtype: bool
"""
if self.__root is None:
self.__root = Node(start, end)
return True
return self.root.insert(Node(start, end))
# Time: O(n^2)
# Space: O(n)
class MyCalendar2(object):
def __init__(self):
self.__calendar = []
def book(self, start, end):
"""
:type start: int
:type end: int
:rtype: bool
"""
for i, j in self.__calendar:
if start < j and end > i:
return False
self.__calendar.append((start, end))
return True
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/LilithSangreal/LeetCode-Solutions.git
git@gitee.com:LilithSangreal/LeetCode-Solutions.git
LilithSangreal
LeetCode-Solutions
LeetCode-Solutions
master

搜索帮助