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] .
Given
return
這題先看一些測資
[[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
沒有留言:
張貼留言