博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。...
阅读量:6602 次
发布时间:2019-06-24

本文共 1606 字,大约阅读时间需要 5 分钟。

题目描述

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。

拙见:

回溯的思想。

# -*- coding:utf-8 -*-class Solution:    def hasPath(self, matrix, rows, cols, path):        # write code here        visited = [True for i in range(rows*cols)]        k = 0        length = len(path)        for i in range(rows*cols):            if self.hasPathNext(matrix, visited, path, rows, cols, i/cols, i%cols, k, length):                return True        return False    def hasPathNext(self, matrix, visited, path, rows, cols, i, j, k, length):        if k > length-1:            return True        if i>=0 and i
=0 and j

牛油高见:

# -*- coding:utf-8 -*-class Solution:    def hasPath(self, matrix, rows, cols, path):        # write code here        for i in range(rows):            for j in range(cols):                if matrix[i*cols+j] == path[0]:                    if self.find(list(matrix),rows,cols,path[1:],i,j):                        return True        return False    def find(self,matrix,rows,cols,path,i,j):        if not path:            return True        matrix[i*cols+j]='0'        if j+1
=0 and matrix[i*cols+j-1]==path[0]: return self.find(matrix,rows,cols,path[1:],i,j-1) elif i+1
=0 and matrix[(i-1)*cols+j]==path[0]: return self.find(matrix,rows,cols,path[1:],i-1,j) else: return False

转载于:https://www.cnblogs.com/ChangAn223/p/10828238.html

你可能感兴趣的文章
J2E——网络编程练习
查看>>
VirtualBox移植
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
Chrome: 完全移除对WoSign和StartCom证书的信任
查看>>
RecyclerView侧滑删除功能
查看>>
记一个hystrix异常
查看>>
9.02-Spring IOC 容器中Bean的生命周期
查看>>
6.6 tar打包
查看>>
BigDecimal去除小数点后多余的0
查看>>
微信自动抢红包的实现(Demo已增加查看TopActivity功能)
查看>>
Spring MVC核心技术
查看>>
Linux监控平台搭建(三)--自定义监控项目、问题告警及处理
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud + Spring Boot + Mybatis + shiro + RestFul + 微服务
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>
建站心得之discuz门户程序相比ZBLOG具有哪些优势[图]
查看>>
编程之美 测试赛 石头剪刀布
查看>>
签名问题
查看>>
软件开发各阶段交付物列表
查看>>
2018-05-24 Linux学习
查看>>