首页 > 其他 > 详细

基础题笔记(三):岛屿面积

时间:2020-02-29 15:26:03      阅读:92      评论:0      收藏:0      [点我收藏+]

0代表海洋,1代表陆地

计算从某一起点相连陆地面积

island=[[1,1,1,1,0],
        [1,0,1,0,0],
        [1,0,0,0,1],
        [1,1,1,1,1],
        [0,0,1,0,0]]

#注意此处path要提前设为(0,0),否则(0,1)或其他相邻点会有可能重复指向起点造成多次计数
def dfs(cX=0,cY=0,path=[(0,0)]):
    
    connect=[(0,1),(1,0),(-1,0),(0,-1)]
    for c in connect:
        nX=cX+c[0]
        nY=cY+c[1]
        
        if nX>=0 and nX<5 and nY>=0 and nY<5:
            
            if (nX,nY) not in path and island[nX][nY]!=0:
                path.append((nX,nY))
                global count
                count+=1
                dfs(nX,nY,path)
         
count=1
dfs()
print(count)

 

基础题笔记(三):岛屿面积

原文:https://www.cnblogs.com/shitianfang/p/12382714.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!