免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
56. 合并區(qū)間
給出一個(gè)區(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ū)間。

主要是找到這個(gè)規(guī)律,在一段區(qū)間內(nèi),沒有出現(xiàn)左右相等的情況,只取左右就可以

public int[][] merge(int[][] intervals) {    List<Integer> l1=new ArrayList();    List<Integer> l2=new ArrayList();    for(int[] a:intervals){        l1.add(a[0]);        l2.add(a[1]);    }    Collections.sort(l1);    Collections.sort(l2);    LinkedList<Integer> left=new LinkedList(l1);    LinkedList<Integer> right=new LinkedList(l2);    Stack<Integer> stack=new Stack();    List<int[]> ret=new ArrayList();    while(!left.isEmpty() || !right.isEmpty()){        int l=Integer.MAX_VALUE;        int r=Integer.MAX_VALUE;        if(!left.isEmpty()) l=left.peek();        if(!right.isEmpty()) r=right.peek();        if(l<=r){            stack.add(l);            left.poll();        }else{            right.poll();            int t=stack.pop();            if(stack.isEmpty()) ret.add(new int[]{t,r});        }    }    int[][] ret1=new int[ret.size()][2];    for(int i=0;i<ret.size();i++){        ret1[i]=ret.get(i);    }    return ret1;}

解沒問題,但代碼太挫了,參考另一個(gè)比較好看的解法

public int[][] merge(int[][] intervals) {    List<int[]> list=new ArrayList();    if(intervals.length==0) return list.toArray(new int[0][]);    Arrays.sort(intervals,Comparator.comparingInt(o->o[0]));    for(int i=0;i<intervals.length;i++){        if(list.size()==0 || intervals[i][0]>list.get(list.size()-1)[1]) list.add(intervals[i]);        else list.get(list.size()-1)[1]=Math.max(list.get(list.size()-1)[1],intervals[i][1]);    }    return list.toArray(new int[0][]);}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
118 DIY LeetCode – Pascal’s Triangle (Java)
47. 全排列 II
[算法總結(jié)] 6 道題搞定 BAT 面試——堆棧和隊(duì)列
386,鏈表中的下一個(gè)更大節(jié)點(diǎn)
Inline Assembler in Delphi (VI) Calling external procedures
帶你認(rèn)識(shí)Java數(shù)據(jù)結(jié)構(gòu)中的棧和隊(duì)列(手把手教你實(shí)現(xiàn)自己的棧和隊(duì)列)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服