亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java合并區(qū)間的實(shí)現(xiàn)

 更新時(shí)間:2023年08月29日 09:09:19   作者:N. LAWLIET  
本文主要介紹了Java合并區(qū)間的實(shí)現(xiàn),通過(guò)合理使用集合類和排序算法,可以有效地解決合并區(qū)間問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下

問(wèn)題:

以數(shù)組 intervals 表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為 intervals[i] = [starti, endi] 。請(qǐng)你合并所有重疊的區(qū)間,并返回 一個(gè)不重疊的區(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 <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

思路: 首先對(duì)所有區(qū)間進(jìn)行排序,使其變成有序區(qū)間,然后分別取每個(gè)區(qū)間的元素,如果當(dāng)前end值不大于下一個(gè)區(qū)間的start就將其加入數(shù)組中,否則就進(jìn)行比較,最大的值作為end值,具體步驟如代碼所示。

代碼:

class Solution {
    public int[][] merge(int[][] intervals) {
        int n = intervals.length;
        //先對(duì)數(shù)組進(jìn)行排序
        Arrays.sort(intervals,(a,b)->a[0] - b[0]);
        List<int[]> list = new ArrayList<>();
        int starti = -1;
        int endi = -1;
        for(int[] inertval : intervals){
            if(endi < inertval[0]){
                if(starti != -1){
                    list.add(new int[]{starti,endi});
                }
                starti = inertval[0];
                endi = inertval[1];
            } else {
                endi = Math.max(endi,inertval[1]);
            }
        }
        list.add(new int[]{starti,endi});
        int[][] ans = new int[list.size()][2];
        for(int i = 0; i < ans.length; i++){ans[i] = list.get(i);}
        return ans;
    }
}

到此這篇關(guān)于Java合并區(qū)間的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java合并區(qū)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea新建Springboot項(xiàng)目,設(shè)置默認(rèn)maven和jdk版本方式

    idea新建Springboot項(xiàng)目,設(shè)置默認(rèn)maven和jdk版本方式

    這篇文章主要介紹了idea新建Springboot項(xiàng)目,設(shè)置默認(rèn)maven和jdk版本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java語(yǔ)言簡(jiǎn)介(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    Java語(yǔ)言簡(jiǎn)介(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    Java是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征,下面通過(guò)本文給大家分享java語(yǔ)言的簡(jiǎn)介,感興趣的朋友一起看看吧
    2017-03-03
  • MyBatis查詢結(jié)果resultType返回值類型的說(shuō)明

    MyBatis查詢結(jié)果resultType返回值類型的說(shuō)明

    這篇文章主要介紹了MyBatis查詢結(jié)果resultType返回值類型的說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • MyBatis中使用分頁(yè)插件PageHelper實(shí)現(xiàn)分頁(yè)功能

    MyBatis中使用分頁(yè)插件PageHelper實(shí)現(xiàn)分頁(yè)功能

    分頁(yè)是經(jīng)常使用的功能,本文主要介紹了Mybatis中處理特殊SQL處理邏輯,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Springboot整合WebSocket實(shí)戰(zhàn)教程

    Springboot整合WebSocket實(shí)戰(zhàn)教程

    WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),這篇文章主要介紹了Springboot整合WebSocket實(shí)戰(zhàn)教程,需要的朋友可以參考下
    2023-05-05
  • java虛擬機(jī)創(chuàng)建失敗的原因整理

    java虛擬機(jī)創(chuàng)建失敗的原因整理

    在本篇文章里小編給大家整理了關(guān)于創(chuàng)建java虛擬機(jī)失敗的解決方法和知識(shí)點(diǎn),需要的朋友們可以參考學(xué)習(xí)下。
    2020-02-02
  • Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案

    Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案

    這篇文章主要介紹了Spring @Cacheable redis異常不影響正常業(yè)務(wù)方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • SpringBoot使用@Autowired為多實(shí)現(xiàn)的接口注入依賴

    SpringBoot使用@Autowired為多實(shí)現(xiàn)的接口注入依賴

    這篇文章主要介紹了SpringBoot使用@Autowired為多實(shí)現(xiàn)的接口注入依賴,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 如何使用spring-ws發(fā)布webservice服務(wù)

    如何使用spring-ws發(fā)布webservice服務(wù)

    文章介紹了如何使用Spring-WS發(fā)布Web服務(wù),包括添加依賴、創(chuàng)建XSD文件、生成JAXB實(shí)體、配置Endpoint、啟動(dòng)服務(wù)等步驟,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • JAVA中 Spring定時(shí)器的兩種實(shí)現(xiàn)方式

    JAVA中 Spring定時(shí)器的兩種實(shí)現(xiàn)方式

    本文向您介紹Spring定時(shí)器的兩種實(shí)現(xiàn)方式,包括Java Timer定時(shí)和Quartz定時(shí)器,兩種Spring定時(shí)器的實(shí)現(xiàn)方式各有優(yōu)點(diǎn),可結(jié)合具體項(xiàng)目考慮是否采用。
    2015-09-09

最新評(píng)論