Skip to content

Latest commit

 

History

History
108 lines (64 loc) · 1.82 KB

File metadata and controls

108 lines (64 loc) · 1.82 KB

English Version

题目描述

给定一个非空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。

解法

Python3

Java

...