200 島嶼數量

2021-10-10 07:10:27 字數 874 閱讀 6882

leetcode: 200. 島嶼數量

島嶼另一種型別 >> 求周長: leetcoed - 463. 島嶼的周長

廣度優先遍歷 bfs

深度優先遍歷 dfs

2.1 dfs 就是遇到乙個 1 >> 遞迴下去繼續找 1 >> 四周沒有 1 之後,逐層返回到上一層找四周剩餘的 1 >> 本題不需要回溯 >> 直接把 訪問過的標記即可

廣度優先遍歷 >> 先進先出 queue 佇列 是核心

廣度優先遍歷

public

intnumislands

(char

grid)}}

return ans;

}public

void

bfs(

char

arr,

int i,

int j)

// 下

if(x +

1< arr.length && arr[x +1]

[y]==

'1')

// 左

if(y -

1>=

0&& arr[x]

[y -1]

=='1'

)// 右

200 島嶼數量

複雜度分析 時間複雜度 o m n 其中 m 和 n 分別為行數和列數。空間複雜度 最壞情況下為 o m n 此時整個網格均為陸地,深度優先搜尋的深度達到m n。class solution int numislands vector grid int cnt 0 for int i 0 i gri...

200 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 grid 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0...

200 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 輸出 1...