2016年12月12日 星期一

[LeetCode] 56. Merge Intervals

轉自LeetCode

Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].
<Solution>

這題先看一些測資

[[1,3], [2,6], [8,10], [15,18]]

[[1,4], [0,5]]

[[1,4], [0,0]]

[[2,3], [4,5], [6,7], [8,9], [1,10]]

可以看到,start 的最小值和 end 的最大值,有可能在後面才會出現

這樣在處理上會比較複雜

因此,先針對 start value 來最排序,然後再針對 end value 來做 merge (參考資料)

code 如下

C++


Java

Java 的另一種寫法

Kotlin

沒有留言:

張貼留言