码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 每日一题 57. 插入区间

时间:2020-06-05 12:54:11      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:alt   blank   font   nil   mamicode   col   tps   tco   list   

技术图片

遍历添加

思路:

由于原数组有序,可以遍历把要添加区间之前的区间先加入到结果中,在判断要添加的区间是否能和之前合并,接着继续遍历之后区间,如果能合并就合并区间,不能合并直接添加。合并区间方法,参考56.合并区间

 

代码:

class Solution:
    def insert(self, intervals: List[List[int]], newInterval: List[int]) -> List[List[int]]:
        new_start, new_end = newInterval[0],newInterval[1]
        idx, n = 0, len(intervals)
        res = []
        while idx < n and new_start > intervals[idx][0]:
            res.append(intervals[idx])
            idx += 1
        if not res or res[-1][1] < new_start:
            res.append(newInterval)
        else:
            res[-1][1] = max(res[-1][1], new_end)
        while idx < n:
            interval = intervals[idx]
            start, end = interval[0],interval[1]
            idx += 1
            if res[-1][1] < start:
                res.append(interval)
            else:
                res[-1][1] = max(res[-1][1], end)
        return res

 

leetcode 每日一题 57. 插入区间

标签:alt   blank   font   nil   mamicode   col   tps   tco   list   

原文地址:https://www.cnblogs.com/nilhxzcode/p/13049050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!