56羹膳、合并區(qū)間 (Merge Intervals)

給出一個區(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ū)間届慈。
解題思路:
*  根據(jù)對象的start 升序排序
*  遍歷對象列表
*  如果當前結果列表最后一個元素end比下一個元素的start小   則把下一個加入到結果列表
*  否則 將當前結果列表中最后一個元素的end賦值 = max(res.get(last()).end, current.end)

java

public class Solution {

    public class Interval {
          int start;
          int end;
          Interval() { start = 0; end = 0; }
          Interval(int s, int e) { start = s; end = e; }
     }


    /**
     * 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; }
     * }
     */
    public List<Interval> merge(List<Interval> intervals) {

        // 根據(jù)start排序
        Collections.sort(intervals, (x,y) -> (x.start - y.start));
        LinkedList<Interval> res = new LinkedList<>();
        for (Interval inerval: intervals
             ) {
            if (res.isEmpty() || res.peekLast().end < inerval.start) {
                res.addLast(inerval);
            } else {
                res.peekLast().end = Math.max(inerval.end, res.peekLast().end );
            }
        }
        return res;
    }


}

python

# Definition for an interval.
class Interval:
    def __init__(self, s=0, e=0):
        self.start = s
        self.end = e


class Solution:
    def merge(self, intervals):
        """
        :type intervals: List[Interval]
        :rtype: List[Interval]
        """
        intervals.sort(key=lambda x : x.start)
        res = []
        for interval in intervals:
            if len(res) <= 0 or res[len(res)-1].end < interval.start:
                res.append(interval)
            else:
                res[len(res)-1].end  = max(res[len(res)-1].end, interval.end)
        return res

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末徒溪,一起剝皮案震驚了整個濱河市忿偷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臊泌,老刑警劉巖鲤桥,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渠概,居然都是意外死亡茶凳,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門播揪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贮喧,“玉大人,你說我怎么就攤上這事猪狈∠渎伲” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵罪裹,是天一觀的道長饱普。 經常有香客問我,道長状共,這世上最難降的妖魔是什么套耕? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮峡继,結果婚禮上冯袍,老公的妹妹穿的比我還像新娘。我一直安慰自己碾牌,他們只是感情好康愤,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舶吗,像睡著了一般征冷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上誓琼,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天检激,我揣著相機與錄音,去河邊找鬼腹侣。 笑死叔收,一個胖子當著我的面吹牛,可吹牛的內容都是我干的傲隶。 我是一名探鬼主播饺律,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼跺株!你這毒婦竟也來了复濒?” 一聲冷哼從身側響起脖卖,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巧颈,沒想到半個月后胚嘲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡洛二,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了攻锰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晾嘶。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖娶吞,靈堂內的尸體忽然破棺而出垒迂,到底是詐尸還是另有隱情,我是刑警寧澤妒蛇,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布机断,位于F島的核電站,受9級特大地震影響绣夺,放射性物質發(fā)生泄漏吏奸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一陶耍、第九天 我趴在偏房一處隱蔽的房頂上張望奋蔚。 院中可真熱鬧,春花似錦烈钞、人聲如沸泊碑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽馒过。三九已至,卻和暖如春酗钞,著一層夾襖步出監(jiān)牢的瞬間腹忽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工算吩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留留凭,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓偎巢,卻偏偏與公主長得像蔼夜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子压昼,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內容