题解 | #机器人的运动范围#
机器人的运动范围
https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param threshold int整型 * @param rows int整型 * @param cols int整型 * @return int整型 */ func movingCount( threshold int , rows int , cols int ) int { dirs:=[][]int{[]int{0,1},[]int{0,-1},[]int{1,0},[]int{-1,0}} vis:=make([][]bool,rows) for i,_:=range vis{ vis[i]=make([]bool,cols) } ans:=0 var dfs func(int,int) dfs=func(i,j int){ if i<0||i>=rows||j<0||j>=cols||vis[i][j]||check(i,j,threshold){ return } vis[i][j]=true ans++ for _,dir:=range dirs{ x,y:=i+dir[0],j+dir[1] dfs(x,y) } } dfs(0,0) return ans } func check(i,j,std int)bool{ cnt:=0 for i>0{ cnt+=i%10 i/=10 } for j>0{ cnt+=j%10 j/=10 } return cnt>std }

查看14道真题和解析
上海得物信息集团有限公司公司福利 1254人发布