mycode
出现的问题:比如最后一个元素是【1,10】,1小于前面所有元素的最小值,10大于前面所有元素的最大值,而我最开始的思路只考虑了相邻
参考:
思路:如果我只考虑相邻,必须先将list排序,由于key只有一个,所以还要在循环的时候考虑第二个元素
class Solution(object): def merge(self, intervals): """ :type intervals: List[List[int]] :rtype: List[List[int]] """ intervals.sort(key = lambda x:x[0]) length=len(intervals) res=[] for i in range(length): if res==[]: res.append(intervals[i]) else: size=len(res) if res[size-1][0] <= intervals[i][0] <=res[size-1][-1]: res[size-1][-1] = max(intervals[i][-1], res[size-1][-1]) else: res.append(intervals[i]) return res