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) }

相关推荐

2025-12-24 13:37
已编辑
浙江农林大学 C++
Eryi_是不是名字...:金牌哥,你这要是考研C9进复试线乱杀啊。可以试试字节腾讯华子,我感觉投华子实习概率很大啊
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务