2025-01-22 05:37
Daily Leetcode
1765. Map of Highest Peak
Topics: Array, BFS, Matrix
Question:
給予二維陣列 isWater, 值為 0, 1 表示該座標位置為土地或水,水的高度固定為0, 可以為每個土地增加高度,但一個位置土地的高度最多只能比上下左右土地的高度 +1, 回傳最大化土地高地的整個二維陣列
Thoughts:
BFS 解法
先將整個座標值以 -1 填滿 (heights),用 -1 僅作為記號表示尚未被增加高度
for loop isWater 將有水的座標加入 queue, 並更改其高度
while loop queue 每次增加該位置(一開始是有水位,逐漸往外擴)的上下左右的地的高度,注意檢查該座標是否在範圍內且尚未被變更值(不檢查有無被變更值會重複加到一塊地的高度)