• 牛客网每日一练


    # 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 ):
            intervals = sorted(intervals,key=lambda x:x.start)
            res = [] #存储最后的结果
            i, n = 0, len(intervals)
            while i <= n - 1:
                l = intervals[i].start
                r = intervals[i].end
                while i < n-1 and r >= intervals[i+1].start:
                    i = i + 1
                    r = max(r, intervals[i].end)
                res.append(Interval(l, r))
                i = i+1
            return res
            # write code here
    给出一组区间,请合并所有重叠的区间。
    请保证合并后的区间按区间起点升序排列

    解题思路:

      对左边界排序,如果下一个区间的左边界在前一个的有边界内,考虑是否要更新边界,如果如果下一个区间的左边界在前一个的有边界外,说明区间无法合并,开始计算下一个区间

  • 相关阅读:
    Dos命令%date:~0,10%
    SharePoint显示错误信息
    VM打开虚拟机文件报错
    Sharepoint2013切换用户菜单
    批量创建域用户
    通过数据库恢复SharePoint网站
    SharePoint2013修复报错
    js 循环
    js 正则表达式
    阶乘函数
  • 原文地址:https://www.cnblogs.com/nenu/p/14677410.html
Copyright © 2020-2023  润新知