iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
自我挑戰組

Java × LeetCode-30天日記系列 第 17

Day 17:Merge Intervals (LC #56)

  • 分享至 

  • xImage
  •  

題目理解
我的理解 : 定一組 區間陣列 intervals,其中每個元素是 [start, end]合併所有重疊的區間,並回傳一個沒有重疊的新區間陣列。
方法

  • 先排序按照區間起點 start 升序排列,這樣才能方便比較相鄰區間是否重疊。
  • 逐一遍歷用一個「當前合併區間」變數。
  • 比較下一個區間:
  • 有重疊:更新結束點 end = max(end1, end2)。
  • 無重疊:把當前區間加入結果,然後開始新的合併區間。
    https://ithelp.ithome.com.tw/upload/images/20250926/20169238rBZwJ3ZUdp.png

心得
我認為關鍵在於「重疊」的判斷,如果 current.end >= next.start → 就合併,否則 → 區間分開。


上一篇
Day 16:Search Insert Position (LC #35)
系列文
Java × LeetCode-30天日記17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言