题解 | #合并区间#
合并区间
http://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
# class Interval: # def __init__(self, a=0, b=0): # self.start = a # self.end = b # # # @param intervals Interval类一维数组 # @return Interval类一维数组 # class Solution: def merge(self , intervals ): # write code here #self.intervals = intervals intervals = sorted(intervals,key=lambda x:x.start) #[a,b],按照a排序 i = 0 while i < len(intervals)-1 : #一定得重新计算len(),因为循环里pop会改变intervals的大小 if intervals[i].end >= intervals[i+1].start: intervals[i].end = max(intervals[i].end,intervals[i+1].end) intervals.pop(i+1) else: i += 1 return intervals