上面四类咋解决呢,我发现有共同的思路。
- 首先就是按照start开始升排序,因为时间有先后循序。
sort_list = sorted(lst_time, key = lambda x: x.start)
定义时间集合list的长度为len_t, 然后循环去取里面的元素(len_t -1个元素),这个元素的end与后面元素的start比较,咋比较具 体要根据不同的题目。
for i in range(len_t-1):
lst_time[i].end lst_time[i+1].start
比如问题2
lst_time[i].end > lst_time[i+1].start:
return False
return True
那么问题2的完整代码是:
class Solution(object):
def canAttendMeetings(self, intervals):
"""
:type intervals: List[Interval]
:rtype: bool
"""
intervals_sorted = sorted(intervals, key = la