Java合并區(qū)間的實現(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 <= 104
- intervals[i].length == 2
- 0 <= starti <= endi <= 104
思路: 首先對所有區(qū)間進行排序,使其變成有序區(qū)間,然后分別取每個區(qū)間的元素,如果當(dāng)前end值不大于下一個區(qū)間的start就將其加入數(shù)組中,否則就進行比較,最大的值作為end值,具體步驟如代碼所示。
代碼:
class Solution {
public int[][] merge(int[][] intervals) {
int n = intervals.length;
//先對數(shù)組進行排序
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ū)間的實現(xiàn)的文章就介紹到這了,更多相關(guān)Java合并區(qū)間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java+selenium實現(xiàn)自動化打開頁面的方法
今天小編就為大家分享一篇java+selenium實現(xiàn)自動化打開頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
mybatis注解之@Mapper和@MapperScan的使用
這篇文章主要介紹了mybatis注解之@Mapper和@MapperScan的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
JAVA Iterator 轉(zhuǎn)成 List 的操作
這篇文章主要介紹了JAVA Iterator 轉(zhuǎn)成 List 的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
SpringCloud實現(xiàn)全鏈路灰度發(fā)布的示例詳解
灰度發(fā)布是指在軟件或服務(wù)發(fā)布過程中,將新版本的功能或服務(wù)以較小的比例引入到生產(chǎn)環(huán)境中,僅向部分用戶或節(jié)點提供新功能的一種發(fā)布策略,下面我們就來學(xué)習(xí)一下SpringCloud如何實現(xiàn)全鏈路灰度發(fā)布2023-11-11
Java傳入用戶名和密碼并自動提交表單實現(xiàn)登錄到其他系統(tǒng)的實例代碼
這篇文章主要介紹了Java傳入用戶名和密碼并自動提交表單實現(xiàn)登錄到其他系統(tǒng),非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-01-01
詳解Spring Boot整合Mybatis實現(xiàn) Druid多數(shù)據(jù)源配置
本篇文章主要介紹了詳解Spring Boot整合Mybatis實現(xiàn) Druid多數(shù)據(jù)源配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03

