題目描述:
給出乙個區間的集合,請合併所有重疊的區間。
示例 1:
輸入: [[1,3],[2,6],[8,10],[15,18]]
輸出: [[1,6],[8,10],[15,18]]
解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].
示例 2:
輸入: [[1,4],[4,5]]
輸出: [[1,5]]
解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。
class
solution;}
arrays.
sort
(intervals,
(o1,o2)
->
o1[0]
== o2[0]
?o1[1]
-o2[1]
: o1[0]
-o2[0]
);int row = intervals.length;
hashmap
map =
newhashmap
<
>()
; map.
put(intervals[0]
[0],intervals[0]
[1])
;for
(int i =
1; i < row; i++
)else
if(intervals[i][0
]<= intervals[i-1]
[1])
else
}int n = map.
size()
;int
res =
newint
[n][2]
;int index =0;
for(integer k : map.
keyset()
) arrays.
sort
(res,
(o1,o2)
->o1[0]
-o2[0]
);return res;
}}
簡潔寫法:
class
solution;}
arrays.
sort
(intervals,
(o1,o2)
->
o1[0]
== o2[0]
?o1[1]
-o2[1]
: o1[0]
-o2[0]
);int row = intervals.length;
list<
int[
]> list =
newarraylist
<
>()
;for
(int i =
0; i < row; i++
) list.
add(
newint
);}return list.
toarray
(new
int[0]
);}}
Leetcode題目56 合併區間(中等)
題目描述 給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。題...
排序 中等 56 合併區間
題目 以陣列 intervals 表示若干個區間的集合,其中單個區間為 intervals i starti,endi 請你合併所有重疊的區間,並返回乙個不重疊的區間陣列,該陣列需恰好覆蓋輸入中的所有區間。示例 1 輸入 intervals 1,3 2,6 8,10 15,18 輸出 1,6 8,1...
LeeCode 中等 陣列 56 合併區間
中等陣列 給出乙個區間的集合,請合併所有重疊的區間。輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。from typing...