面试题67: 机器人的运动范围

题目:
https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8?tpId=13&tqId=11219&tPage=4&rp=3&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking

class Solution:
    def movingCount(self, threshold, rows, cols):
        # write code here
        visit = []
        for i in range(rows):
            row = []
            for j in range(cols):
                row.append(False)
            visit.append(row)
        count = self.MoveingC(threshold, rows, cols, 0, 0,visit )
        return count
    def getDigit( self ,num ):
        sum = 0
        while(num > 0):
            sum = sum + num % 10
            num = num // 10
        return sum

    def check(self, threshold, rows , cols , row , col , visit):
        if( row>= 0 and row<rows and col>=0 and col< cols and self.getDigit(row)+self.getDigit(col) <= threshold and not visit[row][col]):
            return True
        return False
    def MoveingC( self, threshhold, rows ,cols, row , col , visit ):
        count = 0
        if self.check(threshhold,rows,cols,row,col,visit):
            visit[row][col] = True
            count = 1 + self.MoveingC(threshhold,rows,cols,row-1,col,visit) + \
            self.MoveingC(threshhold,rows,cols,row+1,col,visit)+ \
            self.MoveingC(threshhold,rows,cols,row,col-1,visit)+ \
            self.MoveingC(threshhold,rows,cols,row,col+1,visit)
        return count
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容