美文网首页
【回溯】机器人的运动范围

【回溯】机器人的运动范围

作者: 一个想当大佬的菜鸡 | 来源:发表于2019-10-10 13:51 被阅读0次
    class Solution:
        def __init__(self):
            self.cnt = 0
        def movingCount(self, threshold, rows, cols):
            if threshold < 0:
                return 0
            visited = [[0 for i in range(cols)] for j in range(rows)]
            self.helper(visited, threshold, rows, cols, 0, 0)
            return self.cnt
        def helper(self, visited, threshold, rows, cols, m, n):
            if visited[m][n]:
                return 
            visited[m][n] = 1
            self.cnt += 1
            temp_x = [0, 0, 1, -1]
            temp_y = [1, -1, 0, 0]
            for i in range(4):
                x = m + temp_x[I]
                y = n + temp_y[I]
                if x>=0 and y>=0 and x<rows and y<cols and self.isValid(threshold,x,y):
                    self.helper(visited, threshold, rows, cols, x, y)
        def isValid(self, threshold, m, n):
            res = self.countNum(m) + self.countNum(n)
            return res <= threshold
        def countNum(self, m):
            res = 0
            while m:
                res += m % 10
                m = m // 10
            return res
    

    相关文章

      网友评论

          本文标题:【回溯】机器人的运动范围

          本文链接:https://www.haomeiwen.com/subject/zxanectx.html