题解 | #合并区间#

合并区间

http://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a

使用if语句,看区间开始和上一个区间的末尾谁大,如果小的话就合并了,如果大的话就append

# 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
        intervals.sort(key=lambda x:x.start)
        ans = []
        if len(intervals) == 0:
            return ans
        for i in range(1,len(intervals)):
            if intervals[i].start <= intervals[i-1].end:
                intervals[i].start = min(intervals[i-1].start, intervals[i].start)
                intervals[i].end = max(intervals[i-1].end, intervals[i].end)
            else:
                ans.append(intervals[i-1])
        ans.append(intervals[len(intervals)-1])
        return ans
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 15:07
点赞 评论 收藏
分享
06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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