GO: func pathOfZeroAndOne( maze [][]int ) int64 { m:=len(maze) n:=len(maze[0]) visit:=make([][]bool,m) for i:=0;i<m;i++{ visit[i]=make([]bool,n) } res:=0 zero:=0 one:=0 var dfs func(int,int,int) dfs=func(i,j,pre int){ if i<0 || i>=m || j<0 || j>=n || visit[i][j]==true || maze[i][j]==pre{ return } val:=maze[i][j] visit[i][j]=true if val==0{ zero++ }else{ one++ } dfs(i-1,j,val) dfs(i+1,j,val) dfs(i,j-1,val) dfs(i,j+1,val) } for i:=0;i<m;i++{ for j:=0;j<n;j++{ if !visit[i][j]{ zero=0 one=0 dfs(i,j,-1) res=res+zero*one } } } return int64(res) }

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
VirtualBool:都去逗他了?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务