56 合併區間(中等題)

2021-10-01 22:45:21 字數 1631 閱讀 8018

題目描述:

給出乙個區間的集合,請合併所有重疊的區間。

示例 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...