时间复杂度(O(nlogn)) ,思想:复杂度主要在排序上
class Solution:
def merge(self, intervals: [[int]]) -> [[int]]:
if len(intervals) < 2: return intervals
intervals.sort(key=lambda k: k[0])
r = [intervals[0]]
for curr_itv in intervals[1:]:
if r[-1][1] >= curr_itv[0] and r[-1][1] <= curr_itv[1]:
r[-1][1] = curr_itv[1]
elif r[-1][1] < curr_itv[1]:
r.append(curr_itv)
return r