class Solution(object):
def numIslands(self, grid):
"""
:type grid: List[List[str]]
:rtype: int
"""
if not grid: return 0
m=len(grid)
n=len(grid[0])
directions=[(0,1),(1,0),(0,-1),(-1,0)]
def dfs(i,j):
grid[i][j]='0'
for direction in directions:
x,y=i+direction[0],j+direction[1]
if x<0 or x>m-1 or y<0 or y>n-1 or grid[x][y]=='0':
continue
dfs(x,y)
count=0
for i in xrange(m):
for j in xrange(n):
if grid[i][j]=='1':
count+=1
dfs(i,j)
return count
200. Number of Islands
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 题目200. Number of Islands Given a 2d grid map of '1's (lan...
- Number of Islands Given a 2d grid map of '1's (land) and ...
- 200. Number of Islands 题目: Given a 2d grid map of '1's (l...
- 分析 只需要对每一个陆地区域做一次dfs,每次dfs中将已经遍历的陆地网格“1”变为水域网格“0”(防止再次遍历导...