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

机器人的运动范围

https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8

function cal(nums){
    var sum = 0
    while(nums>0){
        sum  += parseInt(nums%10)
        nums = parseInt(nums/10)
    }
    return sum
}


function dfs(r,c,threshold,rows,cols,isvisited){
    if(r<0||r>rows-1||c<0||c>cols-1||isvisited[r][c]||cal(r)+cal(c)>threshold){
        return 0
} 
    isvisited[r][c]=true;
    return (1 + dfs(r-1,c,threshold,rows,cols,isvisited)
             + dfs(r+1,c,threshold,rows,cols,isvisited)
             + dfs(r,c-1,threshold,rows,cols,isvisited)
             + dfs(r,c+1,threshold,rows,cols,isvisited))
}

function movingCount(threshold, rows, cols)
{
    if(rows<=0||cols<=0||threshold<0){
        return 0
    }
    var isvisited = []
    for(let i=0;i<rows;i++){
        isvisited.push([])
        for(let j=0;j<cols;j++){
            isvisited[i][j]=false
        }
    }
    return dfs(0,0,threshold,rows,cols,isvisited)
    
}
module.exports = {
    movingCount : movingCount
};

全部评论

相关推荐

神哥不得了:首先我就是在成都,成都的互联网格外的卷,如果是凭现在的简历的话很难找到大厂,建议再添加一个高质量的项目上去,另外专业技能的话最好是超过每一条的一半
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务