0%

[0711] 不同岛屿的数量 II

[0711] 不同岛屿的数量 II

题目描述

给定一个非空01二维数组表示的网格,一个岛屿由四连通(上、下、左、右四个方向)的 1 组成,你可以认为网格的四周被海水包围。

请你计算这个网格中共有多少个形状不同的岛屿。如果两个岛屿的形状相同,或者通过旋转(顺时针旋转 90°,180°,270°)、翻转(左右翻转、上下翻转)后形状相同,那么就认为这两个岛屿是相同的。

 

样例 1:

11000
10000
00001
00011

给定上图,返回结果 1

注意 :

11
1

 1
11

是相同的岛屿。因为我们通过 180° 旋转第一个岛屿,两个岛屿的形状相同。

 

样例 2:

11100
10001
01001
01110

给定上图,返回结果 2

下面是两个不同的岛屿:

111
1

1
1

 

注意 :

111
1

1
111

相同的岛屿。因为我们通过上下翻转第一个岛屿,两个岛屿的形状相同。

 

注释 :  二维数组每维的大小都不会超过50。

Related Topics
  • 深度优先搜索
  • 哈希表
  • 题目解析

    • [请一句话描述题目…]

    不确定性

    方法一:[算法名称]

    分析

    思路

    注意

    知识点

    复杂度

    代码

    1
    //

    方法二:[算法名称]

    分析

    思路

    注意

    知识点

    复杂度

    代码

    1
    //

    相关题目