Number of Islands(union find)

Given a 2d grid map of'1's (land) and'0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Example 1:

Input:
11110
11010
11000
00000

Output: 1
Example 2:

Input:
11000
11000
00100
00011

Output: 3

分析

parent也可以用数组,也可以初始都指向-1,记得后面find也用-1比较就好

这里union时候是向4个方向扩展,[-1,0,1,0,-1],以及 for i in range(4) 错半死啊!!!!

4个方向扩展要判断边界和grid == 1

Last updated

Was this helpful?