题解 | #合并区间#

合并区间

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
全部评论

相关推荐

今天 15:12
门头沟学院 运营
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务