[LeetCode]题解(python):057-Insert Interval
2015-11-16 16:07
851 查看
[b]题目来源:[/b]
https://leetcode.com/problems/insert-interval/
[b]题意分析:[/b]
给定一个互相没交叉排好序的间隔,再给一个新的间隔,将这个间隔和原来的间隔串整合成新的间隔串。
[b]题目思路:[/b]
首先将新的间隔插入原来的间隔串。然后整合。
[b]代码(python):[/b]
View Code
转载请注明出处:http://www.cnblogs.com/chruny/p/4969196.html
https://leetcode.com/problems/insert-interval/
[b]题意分析:[/b]
给定一个互相没交叉排好序的间隔,再给一个新的间隔,将这个间隔和原来的间隔串整合成新的间隔串。
[b]题目思路:[/b]
首先将新的间隔插入原来的间隔串。然后整合。
[b]代码(python):[/b]
# Definition for an interval. # class Interval(object): # def __init__(self, s=0, e=0): # self.start = s # self.end = e class Solution(object): def insert(self, intervals, newInterval): """ :type intervals: List[Interval] :type newInterval: Interval :rtype: List[Interval] """ def find(intervals,newInterval): size = len(intervals) if size == 0: return 0 first,last = 0,size while first < last: mid = (first + last) // 2 if intervals[mid].start == newInterval.start: return mid elif intervals[mid].start < newInterval.start: first = mid + 1 else: last = mid return max(0,first) intervals.insert(find(intervals,newInterval),newInterval) ans,size = [],len(intervals) 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/4969196.html
相关文章推荐
- python 字串格式化选项
- Python的Flask开发框架简单上手笔记
- Python标准库学习
- 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇
- [LeetCode]题解(python):056-Merge Intervals
- 老李分享:开发python的unittest结果输出样式
- Python deque
- 封装BerkeleyDB 2.0
- BerkeleyDB的使用
- PHP、JS、Python,数据库 获取今天是星期几了?[开发篇]
- python url解码
- [原]Python Web部署方式总结
- [LeetCode]题解(python):055-Jump Game
- python琐碎的知识积累,闭包
- Python代码总结
- 解决启动PyCharm,报错No Python interpreter selected
- pyspark Python 连接 HBase thrift
- 优秀Python学习资源收集汇总(强烈推荐)
- python下划线变量的含义
- 如何在Python中嵌入Rdesktop