摘要:題目地址題目描述給出一個區(qū)間的集合,請合并所有重疊的區(qū)間。示例輸入輸出解釋區(qū)間和重疊將它們合并為示例輸入輸出解釋區(qū)間和可被視為重疊區(qū)間。解答按照區(qū)間起始節(jié)點排序。否則把列表最后一個區(qū)間和當(dāng)前區(qū)間合并。
題目地址:
https://leetcode-cn.com/probl...
題目描述:
給出一個區(qū)間的集合,請合并所有重疊的區(qū)間。
示例 1:
輸入: [[1,3],[2,6],[8,10],[15,18]]
輸出: [[1,6],[8,10],[15,18]]
解釋: 區(qū)間 [1,3] 和 [2,6] 重疊, 將它們合并為 [1,6].
示例 2:
輸入: [[1,4],[4,5]]
輸出: [[1,5]]
解釋: 區(qū)間 [1,4] 和 [4,5] 可被視為重疊區(qū)間。
解答:
按照區(qū)間起始節(jié)點排序。
然后合并即可,這題難的是怎么寫出完美的合并代碼。
判斷邏輯是如果ans列表為空或者ans列表最后一個區(qū)間和當(dāng)前區(qū)間不相交就加入當(dāng)前區(qū)間。
否則把ans列表最后一個區(qū)間和當(dāng)前區(qū)間合并。
java ac代碼:
/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(int s, int e) { start = s; end = e; } * } */ class Solution { public Listmerge(List intervals) { Collections.sort(intervals, new Comparator () { @Override public int compare(Interval o1, Interval o2) { if(o1.start != o2.start) return o1.start-o2.start; return o1.end-o2.end; } }); List ans = new ArrayList(intervals.size()); for(int i = 0;i < intervals.size();i++) if(ans.size() == 0||ans.get(ans.size()-1).end < intervals.get(i).start) ans.add(intervals.get(i)); else ans.get(ans.size()-1).end =Math.max(intervals.get(i).end,ans.get(ans.size()-1).end ); return ans; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73418.html
摘要:圖因此可以成為樹,在所有可能的樹中,具有最小高度的樹被稱為最小高度樹。給出這樣的一個圖,寫出一個函數(shù)找到所有的最小高度樹并返回他們的根節(jié)點。因此使用一個數(shù)組代表每個節(jié)點的入度,若入度為就是葉子節(jié)點。 題目地址:https://leetcode-cn.com/probl...題目描述: 對于一個具有樹特征的無向圖,我們可選擇任何一個節(jié)點作為根。圖因此可以成為樹,在所有可能的樹中,具有最小...
摘要:關(guān)于遞歸這里提一兩點遞歸基本有這幾步遞歸的模板,終止條件,遞歸調(diào)用,邏輯處理。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無所住而生...
摘要:對于每個氣球,提供的輸入是水平方向上,氣球直徑的開始和結(jié)束坐標(biāo)??梢陨涑龅墓臄?shù)量沒有限制。弓箭一旦被射出之后,可以無限地前進(jìn)。我們想找到使得所有氣球全部被引爆,所需的弓箭的最小數(shù)量。解答這是一道區(qū)間覆蓋問題,不太好說清楚,利用模板即可。 題目地址:https://leetcode-cn.com/probl...題目描述:在二維空間中有許多球形的氣球。對于每個氣球,提供的輸入是水平方...
閱讀 2633·2021-11-19 09:56
閱讀 886·2021-09-24 10:25
閱讀 1653·2021-09-09 09:34
閱讀 2211·2021-09-09 09:33
閱讀 1066·2019-08-30 15:54
閱讀 552·2019-08-29 18:33
閱讀 1278·2019-08-29 17:19
閱讀 516·2019-08-29 14:19