zoukankan      html  css  js  c++  java
  • [LeetCode]题解(python):057-Insert Interval

    题目来源:

      https://leetcode.com/problems/insert-interval/


    题意分析:

      给定一个互相没交叉排好序的间隔,再给一个新的间隔,将这个间隔和原来的间隔串整合成新的间隔串。


    题目思路:

      首先将新的间隔插入原来的间隔串。然后整合。


    代码(python):

      

    # 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

  • 相关阅读:
    2013年3月17日星期日
    2013第11周一
    2013年第11周二
    2013年第11周三今天开发踩过的坑
    2013第11周四开发摸索
    2013第10周六项目中用到的前端技术学习1
    PHP 数组使用之道
    快递查询API接口集成,有需要的可以直接用
    PHP intval() 函数
    巧用 PHP 数组函数
  • 原文地址:https://www.cnblogs.com/chruny/p/4969196.html
Copyright © 2011-2022 走看看