剑指offer矩阵中的路径


本地测试用例通过,在线却输出相反的结果?是Python3和Python2的原因吗?
# -*- coding:utf-8 -*-
class Solution:
    def hasPath(self, matrix, rows, cols, path):
        # write code here
        m = [[0]*cols for i in range(rows)]
        for i in range(rows):
            for j in range(cols):
                m[i][j] = matrix[i*cols+j]
        for i in range(rows):
            for j in range(cols):
                visited = [[0]*cols for i in range(rows)]
                if self.dfs(m,rows,cols,path,visited,i,j,0):
                    return True
        return False
    def dfs(self,matrix,rows,cols,path,visited,i,j,index):
        if index == len(path):
            return True
        if i < 0 or i >= rows or j < 0 or j >= cols or matrix[i][j] != path[index] or visited[i][j] == 1:
            return False
        visited[i][j] = 1
        index += 1
        result = self.dfs(matrix,rows,cols,path,visited,i+1,j,index) or self.dfs(matrix,rows,cols,path,visited,i-1,j,index) or self.dfs(matrix,rows,cols,path,visited,i,j+1,index) or self.dfs(matrix,rows,cols,path,visited,i,j-1,index)
        visited[i][j] = 0
        return result


#笔试题目##Python#
全部评论
我今天也在写这个,老是报错:数组越界
点赞 回复 分享
发布于 2019-08-06 19:24

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
哈哈哈看得出来讨论很沸腾了,很高兴了属于是&nbsp;大家快说说截止目前还有哪家互联网大厂不是双休?(在说谁,在说谁)一起避坑!!
不正经草莓:听红薯来的同事讲,他们之前周六下午6点多就走了,一天也没啥事儿到手6k多工资,要我也加班查看图片
投递小红书等公司6个岗位 > 小红书取消大小周
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务