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

机器人的运动范围

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

  1. 考虑DFS遍历矩阵
  2. 考虑遍历终止条件:越界,已被访问过,不满足位数和要求,返回0
  3. 2中均为真后,考虑DFS返回的是:(向下+向上+当前)这三个的数量之和
    # 1. 位数和函数(暴力)
    def sum(i, j):
        ans = 0
        while i>0: 
            ans += (i%10)
            i //= 10
        while j>0:
            ans += (j%10)
            j //= 10
        return ans
    # 2. 深度遍历dfs
    def dfs(i, j, vis):
         if i>=rows or j>=cols or (i,j) in visited or sum(i,j)>threshold:
             return 0
         visited.add((i,j))
         return 1 + dfs(i+1, j, visited) + dfs(i, j+1, visited)
    visited = set()
    return dfs(0,0,visited)
全部评论

相关推荐

粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务