我用python按照楼主法1是对的。。Java不知道怎么回事,楼主找到问题了求告知谢谢~ # -*- coding:utf-8 -*- class Solution: def movingCount(self, threshold, rows, cols): self.count = 0 visited = [[True] * cols for _ in range(rows)] self.dfs(threshold, rows, cols, 0, 0, visited) return self.count def dfs(self, threshold, rows, cols, i, j, visited): if (0 <=i < rows and 0 <= j < cols and visited[i][j] and self.computeSum(i) + self.computeSum(j) <= threshold): visited[i][j] = False self.count += 1 self.dfs(threshold, rows, cols, i-1, j, visited) self.dfs(threshold, rows, cols, i+1, j, visited) self.dfs(threshold, rows, cols, i, j-1, visited) self.dfs(threshold, rows, cols, i, j+1, visited) def computeSum(self, num): res = 0 while num: res += num % 10 num //= 10 return res
点赞 2

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务