摘要:問題描述分析這道題的關(guān)鍵在于理解問題,抽取原型,理解中間可以部分如何界定,以及非部分如何進(jìn)行追加。需要注意的是循環(huán)到最后一個元素和在最后一個元素的區(qū)別。
問題描述:
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals [1,3],[6,9], insert and merge [2,5] in as [1,5],[6,9].
Example 2:
Given [1,2],[3,5],[6,7],[8,10],[12,16], insert and merge [4,9] in as
[1,2],[3,10],[12,16].This is because the new interval [4,9] overlaps with
[3,5],[6,7],[8,10].
class Solution(object): def insert(self, intervals, newInterval): """ :type intervals: List[Interval] :type newInterval: Interval :rtype: List[Interval] """ start=newInterval.start end=newInterval.end # print("start,end",start,end) outs=list() index=0 flag_break=0 for index,interval in enumerate(intervals): if interval.end>=start: if interval.start>end: flag_break=1 break else: start=min(start,interval.start) end=max(end,interval.end) # print("start,end:", start, end) else: outs.append(interval) outs.append(Interval(start,end)) if flag_break: outs.extend(intervals[index:]) # print(outs) outs_num=[ (out.start,out.end) for out in outs] return outs_num
分析:這道題的關(guān)鍵在于理解問題,抽取原型,理解中間可以merge部分如何界定,以及非merge部分如何進(jìn)行追加list。 需要注意的是:循環(huán)到最后一個元素和在最后一個元素break的區(qū)別。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44596.html
摘要:題目要求給定一組順序排列且相互之間沒有重疊的區(qū)間,輸入一個區(qū)間,將它插入到當(dāng)前的區(qū)間數(shù)組中,并且將需要合并的區(qū)間合并,之后返回插入并且合并后的區(qū)間。我們將這三個類型的區(qū)間分別標(biāo)注為類型,類型,類型。 題目要求 Given a set of non-overlapping intervals, insert a new interval into the intervals (merge...
摘要:我們只要把所有和該有重疊的合并到一起就行了。最后把前半部分的列表,合并后的大和后半部分的列表連起來,就是結(jié)果了。 Merge Intervals 最新更新請見 https://yanjia.me/zh/2019/02/... Given a collection of intervals, merge all overlapping intervals.For example, Gi...
摘要:題目要求假設(shè)一個二維的整數(shù)數(shù)組中每一行表示一個區(qū)間,每一行的第一個值表示區(qū)間的左邊界,第二個值表示區(qū)間的右邊界。 題目要求 Given a set of intervals, for each of the interval i, check if there exists an interval j whose start point is bigger than or equal ...
摘要:數(shù)據(jù)集大學(xué)畢業(yè)生收入下載地址,本文以繪制直方圖為主。整型全年全職在崗人數(shù)。浮點型收入的百分位數(shù)。各大類專業(yè)就業(yè)率圖示結(jié)論相對來說,由于計算機(jī)的發(fā)展前景,計算機(jī)與數(shù)學(xué)類的就業(yè)率較高。 ...
摘要:這兩個函數(shù)接受定時器的例如我們上面提到的兩個函數(shù)產(chǎn)生的定時器,并停止對定時器中指定函數(shù)的調(diào)用。注意,定時器雖然觸發(fā)了,但是并不會立即執(zhí)行,它只是把需要延遲執(zhí)行的函數(shù)加入了執(zhí)行隊列,在線程的某一個可用的時間點,這個函數(shù)就能夠得到執(zhí)行。 擼了今年阿里、頭條和美團(tuán)的面試,我有一個重要發(fā)現(xiàn)....... javascript定時器工作原理是一個重要的基礎(chǔ)知識點。因為定時器在單線程中工作,它們表...
閱讀 2363·2021-11-16 11:44
閱讀 701·2019-08-30 15:55
閱讀 3324·2019-08-30 15:52
閱讀 3664·2019-08-30 15:43
閱讀 2250·2019-08-30 11:21
閱讀 471·2019-08-29 12:18
閱讀 2006·2019-08-26 18:15
閱讀 518·2019-08-26 10:32