当前位置: 首页 > news >正文

46、PHP实现矩阵中的路径

题目: PHP实现矩阵中的路径

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

<?phpfunction hasPath($matrix, $rows, $cols, $path)
{// write code here$m = str_split($matrix,$cols);$visited = [];for($i=0; $i<$rows; $i++){for($j=0; $j<$cols; $j++){if(back($m,$rows,$cols,$i,$j,$path,$visited)){return true;}}}return false;
}function back(&$m,&$rows,&$cols,$i,$j,$path,&$v)
{if($i<0 || $j<0|| $cols<=$j || $rows<=$i || $v[$i][$j]==1){return false;}$v[$i][$j] = 1;if(substr($path,0,1)==$m[$i][$j]){if(strlen($path)==1){return true;}if(back($m,$rows,$cols,$i+1,$j,substr($path,1),$v)||back($m,$rows,$cols,$i-1,$j,substr($path,1),$v)||back($m,$rows,$cols,$i,$j+1,substr($path,1),$v)||back($m,$rows,$cols,$i,$j-1,substr($path,1),$v)){return true;}}$v[$i][$j] = 0;return false;
}
http://www.lryc.cn/news/406994.html

相关文章:

  • c++笔记2
  • 通过Lua脚本手写redis分布式锁
  • 解析银行个人征信系统
  • AttributeError: ‘list‘ object has no attribute ‘text‘
  • Codeforces Round 874 (Div. 3)(A~D题)
  • [Python][基础语法]详细讲解
  • Layui---输入事件
  • 甄选范文“论软件测试中缺陷管理及其应用”软考高级论文,系统架构设计师论文
  • spring框架实现滑动验证码功能
  • Pytorch使用教学8-张量的科学运算
  • [Spring Boot]登录密码三种加密方式
  • 前端面试项目细节重难点分享(十三)
  • 每天五分钟深度学习:向量化方式完成逻辑回归m个样本的前向传播
  • 以线程完成并发的UDP服务端
  • linux c 特殊字符分割
  • 搭建本地私有知识问答系统:MaxKB + Ollama + Llama3 (wsl网络代理配置、MaxKB-API访问配置)
  • 谷粒商城实战笔记-65-商品服务-API-品牌管理-表单校验自定义校验器
  • 学好C++之——命名空间
  • pytorch lightning报错all tensors to be on the same device
  • Redis中的哨兵(Sentinel)
  • 产业创新研究杂志产业创新研究杂志社产业创新研究编辑部2024年第12期目录
  • 网闸(Network Gatekeeper或Security Gateway)
  • C#中的字符串
  • docker安装部署elasticsearch7.15.2
  • Symfony 入门指南:快速安装与基础配置
  • 3.3V升压至5V的AH6922芯片:高效能的SOP8封装解决方案
  • 赋能未来教育,3DCAT助力深圳鹏程技师学院打造5G+XR实训室
  • 力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法
  • React 常见的报错及解决方法
  • 更新服务器nginx 1.26.1版本