题解 | #合并区间#
合并区间
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
查看13道真题和解析