题解 | #机器人的运动范围#

机器人的运动范围

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,
};

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务