2025 iThome 鐵人賽
分享至
這題剛開始看會覺得有點複雜,因為要判斷哪些「1」是同一個島、哪些是分開的。但想通之後,其實就是個搜尋問題:只要找到一個「1」,就用 DFS 或 BFS 把跟它相連的所有「1」都清掉(改成「0」),這樣就不會重複計數。整個地圖掃完後,能啟動搜尋的次數就是島嶼的數量。這題讓我更理解「遞迴」和「搜尋」的概念,也學會了在網格問題中如何處理四個方向的遍歷。整體來說,雖然程式不長,但邏輯很經典,是 DFS/BFS 的入門代表題。
IT邦幫忙