力扣刷題:合并區(qū)間(java實現(xiàn))

題目描述:以數(shù)組intervals 表示若干個區(qū)間的集合,其中單個區(qū)間為intervals[i] = [starti, endi]。請你合并所有重疊的區(qū)間,并返回一個不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間媚送。

示例 1:

輸入:intervals = [[1,3],[2,6],[8,10],[15,18]]
輸出:[[1,6],[8,10],[15,18]]
解釋:區(qū)間 [1,3] 和 [2,6] 重疊, 將它們合并為 [1,6].

示例 2:

輸入:intervals = [[1,4],[4,5]]
輸出:[[1,5]]
解釋:區(qū)間 [1,4] 和 [4,5] 可被視為重疊區(qū)間。

提示:

  • 1 <= intervals.length <= 10^4
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 10^4

相關標簽:數(shù)組蝙眶、排序

解析:這題思路比較簡單,對二維數(shù)組進行排序褪那,排序規(guī)則可以是根據(jù)數(shù)組區(qū)間的起始值或者結尾值來進行幽纷,接著對排序后的數(shù)組元素進行比較,如果第一個元素的結尾值小于第二個元素的起始值友浸,說明兩個區(qū)間無交際,第一個區(qū)間可以添加到結果集中收恢;如果第一個元素的結尾值小于第二個元素結尾值武学,但是大于起始值伦意,需要進行區(qū)間合并火窒;具體代碼如下所示:

public int[][] merge(int[][] intervals) {
        int len = intervals.length;
        if(len==1){
            return intervals;
        }
        //排序,從小到大
        Arrays.sort(intervals,(a,b)->a[0]-b[0]);
        //創(chuàng)建集合,存儲符合條件的元素
        List<int[]> list = new ArrayList<>();
        //獲取二維數(shù)組中起始值最小的數(shù)組
        int[] tmp = intervals[0];
        //集合添加初始元素
        list.add(tmp);
        for (int i = 1; i < len; i++) {
            //如果集合中最后一個元素的結尾值比二維數(shù)組當前元素的起始值要小
            if(tmp[1]<intervals[i][0]){
                //將二維數(shù)組當前元素添加到集合中
                list.add(intervals[i]);
                //更新tmp值
                tmp = intervals[i];
                //如果集合中最后一個元素的結尾值比二維數(shù)組當前元素的結尾值要小
            }else if(tmp[1] <= intervals[i][1]){
                //刪除集合中最后一個元素
                list.remove(tmp);
                //更新tmp
                tmp = new int[]{tmp[0],intervals[i][1]};
                //集合添加tmp
                list.add(tmp);
            }
        }
        //返回結果
        return list.toArray(new int[list.size()][2]);

    }

道阻且長驮肉,行則將至

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市票编,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卵渴,老刑警劉巖慧域,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浪读,居然都是意外死亡昔榴,警方通過查閱死者的電腦和手機瑟啃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛹屿,“玉大人,你說我怎么就攤上這事坟瓢。” “怎么了折联?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诚镰。 經常有香客問我祥款,道長清笨,這世上最難降的妖魔是什么刃跛? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮检号,結果婚禮上腌歉,老公的妹妹穿的比我還像新娘齐苛。我一直安慰自己,他們只是感情好脸狸,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泥彤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吟吝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天颈娜,我揣著相機與錄音剑逃,去河邊找鬼。 笑死蛹磺,一個胖子當著我的面吹牛,可吹牛的內容都是我干的萤捆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼俗或,長吁一口氣:“原來是場噩夢啊……” “哼岁忘!你這毒婦竟也來了?” 一聲冷哼從身側響起干像,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎速客,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體什乙,經...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡臣镣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忆某。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡癞埠,死狀恐怖,靈堂內的尸體忽然破棺而出苗踪,到底是詐尸還是另有隱情削锰,我是刑警寧澤通铲,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布器贩,位于F島的核電站,受9級特大地震影響蛹稍,放射性物質發(fā)生泄漏。R本人自食惡果不足惜唆姐,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一厦酬、第九天 我趴在偏房一處隱蔽的房頂上張望胆描。 院中可真熱鬧仗阅,春花似錦、人聲如沸减噪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至证逻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間囚企,已是汗流浹背丈咐。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工棵逊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辆影。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓黍特,卻偏偏與公主長得像蛙讥,于是被迫代替她去往敵國和親灭衷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內容