博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]题解(python):056-Merge Intervals
阅读量:6443 次
发布时间:2019-06-23

本文共 1080 字,大约阅读时间需要 3 分钟。

题目来源:

  https://leetcode.com/problems/merge-intervals/


 

题意分析:

  给定一连串的间隔,将有交叉的间隔整合起来。比如:给出[[1,3],[2,4]]那么应该返回[[1,4]]。要注意的是类似[[1,2],[2,3]]也要整合成[[1,3]]。


 

题目思路:

  首先将间隔排序,接着从头开始,如果发现前一个的最后不小于后一个的第一个,那么将这两个整合成一个新的间隔。也就是if tmp.end <= intervals[i].start: tmp.end = max(tmp.end,intervals[i].end)。


 

代码(python):

  

# Definition for an interval.# class Interval(object):#     def __init__(self, s=0, e=0):#         self.start = s#         self.end = eclass Solution(object):    def merge(self, intervals):        """        :type intervals: List[Interval]        :rtype: List[Interval]        """        intervals.sort(key = lambda interval : interval.start)        ans,size = [],len(intervals)        if size == 0:            return ans        tmp = intervals[0]        for i in intervals:            if i.start <= tmp.end:                tmp.end = max(i.end,tmp.end)            else:                ans.append(tmp)                tmp = i        ans.append(tmp)        return ans
View Code

 


 

转载请注明出处:http://www.cnblogs.com/chruny/p/4969074.html

转载于:https://www.cnblogs.com/chruny/p/4969074.html

你可能感兴趣的文章
javascript中关于value的一个小知识点(value既是属性也是变量)
查看>>
cookie创建,使用 . session与Cookie区别
查看>>
截取字符串 substring substr slice
查看>>
day1
查看>>
BFS 2015百度之星初赛2 HDOJ 5254 棋盘占领
查看>>
LeetCode 3
查看>>
活灵活现用 Git --基础篇
查看>>
c++ 函数声明
查看>>
linux下,免密码登录
查看>>
街道管理
查看>>
hdu 3501 Calculation 2 (欧拉函数)
查看>>
csv2mysql
查看>>
可以免费下载视频素材和模板网站汇总
查看>>
生成包含数字和大小写字母的随机码
查看>>
前辈回顾15年程序员生涯,总结的7点经验
查看>>
WebView与 JS 交互方式
查看>>
Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
查看>>
【CT】四、Turing Machines(2)
查看>>
【matlab】plot
查看>>
Kafka生产者APi
查看>>