题解 | #机器人的运动范围#
机器人的运动范围
https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8
function movingCount(threshold, rows, cols) { // write code here let count = 0 let arr = new Array(rows).fill().map(()=>new Array(cols).fill(false)) function dfs(row,col){ //终止条件 if(row >= rows || col >= cols || sumOfDigits(col,row) > threshold || arr[row][col])return count ++ //表示这条路走过了,后续重复走不算 arr[row][col] = true dfs(row+1,col) dfs(row,col+1) } dfs(0,0) return count } function sumOfDigits(num1, num2) { let arr = [...(num1 + "").split(""), ...(num2 + "").split("")]; return arr.reduce((total, curValue) => { return total + Number(curValue); }, 0); } module.exports = { movingCount: movingCount, };