题目:原题链接(中等)
标签:扫描线算法、数学
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
Ans 1 (Python) | 76ms (31.25%) | ||
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:
def removeInterval(self, intervals: List[List[int]], toBeRemoved: List[int]) -> List[List[int]]:
ans = []
for s, e in intervals:
if e <= toBeRemoved[0]:
ans.append([s, e])
elif s < toBeRemoved[0] <= e <= toBeRemoved[1]:
ans.append([s, toBeRemoved[0]])
elif toBeRemoved[0] <= s <= e <= toBeRemoved[1]:
pass
elif toBeRemoved[0] <= s <= toBeRemoved[1] < e:
ans.append([toBeRemoved[1], e])
elif toBeRemoved[1] <= s:
ans.append([s, e])
elif s < toBeRemoved[0] <= toBeRemoved[1] < e:
ans.append([s, toBeRemoved[0]])
ans.append([toBeRemoved[1], e])
return