LeetCode學習記錄(1) 島嶼的個數

2021-08-30 11:11:51 字數 839 閱讀 7388

給定乙個由'1'(陸地)和'0'(水)組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。

示例 1:

輸入:

11110

11010

11000

00000

輸出: 1

示例 2:

輸入:

11000

11000

00100

00011

輸出: 3

解題思路:另外建立乙個二維陣列將土地以及它的邊界記錄,則當遇到乙個在原二維陣列為1(土地),而在新的二維陣列中為0(沒有訪問過)。則為乙個新的島嶼。

**如下:

class solution 

char visit=new char[grid.length][grid[0].length];

for(int i=0;igrid.length-1||j<0||j>grid[0].length-1)else if(grid[i][j]=='0')else if(visit[i][j]=='1')else

}}public class main,,};

solution solve=new solution();

int num=solve.numislands(grid);

system.out.println(num);

}}

感謝下面參考鏈結的博主。

leetcode 島嶼的個數

給定乙個由 1 陸地 和 0 水 組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直 方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1 示例 2 輸入 11000 11000 00100 ...

leetcode島嶼的個數

給定乙個由 1 陸地 和 0 水 組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1示例 2 輸入 11000 11000 00100 00...

200 島嶼數量 leetcode

思路 深度遍歷 1.第一層main函式裡 兩層迴圈找 grid x y 1 的點 res 1 2.遞迴函式裡,把與該點四個方向相鄰的,值為 1 的點全部標0 標0方法 對座標 x,y 四個方向中 值 1 的賦0 再遞迴。注意 1.對於二維陣列,判空要用 if len grid 0 return 0 ...