题目
给定一个非空01二维数组表示的网格,一个岛屿由四连通(上、下、左、右四个方向)的 1 组成,你可以认为网格的四周被海水包围。
请你计算这个网格中共有多少个形状不同的岛屿。...注意:
11
1
和
1
11
是不同的岛屿,因为我们不考虑旋转、翻转操作。
注释 : 二维数组每维的大小都不会超过50。...解题
记录开始BFS或DFS的起点,后续点跟起点做差,存储路径到set中去重,返回 set 的大小
2.1 BFS
class Solution {
public:
int numDistinctIslands...j, k, x, y, x0, y0, nx, ny;
vector> dir = {{1,0},{0,1},{0,-1},{-1,0}};
set...2.2 DFS
class Solution {
vector> dir = {{1,0},{0,1},{0,-1},{-1,0}};
int m, n;
set