题目66:矩阵中的路径
又是一道回溯法的问题。目前关于回溯法,只是处于能看懂代码的阶段。给你一道新题,估计还是很难答得出来,不过没关系。先把这几道题弄熟了再说。
bool HasPathCore(char* matrix, int rows, int columns, int row, int col, char* str, int &length, bool* visited) {if (str[length] == '\0')return true;bool HasPath = false;if (row < rows&&row >= 0 && col >= 0 && col < columns&&matrix[row*columns + col] == str[length] && visited[row*columns + col] == false){++length;visited[row*columns + col] = true;HasPath = HasPathCore(matrix, rows, columns, row, col - 1, str, length, visited) || HasPathCore(matrix, rows, columns, row, col + 1, str, length, visited) || HasPathCore(matrix, rows, columns, row - 1, col, str, length, visited) || HasPathCore(matrix, rows, columns, row + 1, col, str, length, visited);if (!HasPath){--length;visited[row*columns + col] = false;}}return HasPath; }
//确定图中是否有可以使用的路径 bool HasPath(char* matrix, int rows, int columns, char* str) {if (matrix == NULL || rows <= 0 || columns <= 0 || str == NULL)return false;bool *visited = new bool[rows*columns];memset(visited, 0, rows*columns);int PathLength = 0;for (int col = 0; col < columns; col++){for (int row < 0; row < rows; ++row){if (HasPathCore(matrix, rows, columns, row, col, str, PathLength, visited))return true;}}delete[] visited;return false; }
转载于:https://www.cnblogs.com/chengxuyuanxiaowang/p/4304373.html
题目66:矩阵中的路径相关推荐
- 剑指offer:面试题12. 矩阵中的路径
题目:矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一 ...
- 【剑指Offer学习】【面试题66:矩阵中的路径】
[剑指Offer学习][面试题66:矩阵中的路径] 题目:请设计一个函数,用来推断在一个矩阵中是否存在一条包括某字符串全部字符的路径.路径能够从矩阵中随意一格開始.每一步能够在矩阵中间向左.右.上.下 ...
- 【有返回值的回溯法】剑指offer——面试题66:矩阵中的路径(回溯法)
剑指offer--面试题66:矩阵中的路径(回溯法) Solution:1 典型的回溯算法及代码 此题是回溯法的典型例题,思路以及代码均是书中所讲.要具体实现很有参考价值,借鉴之! 现在把书中代码贴在 ...
- 《剑指offer》-- 回溯法:矩阵中的路径、机器人的运动范围
一.矩阵中的路径 1.题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子. ...
- 【算法】剑指 Offer 12. 矩阵中的路径
文章目录 1.概述 2.我的算法 2.1 棋盘 2.1 开始节点 2.2 点没被访问 2.3 点是否在棋盘内 2.4 下一步 2.5 主方法 2.6 核心方法 2.7 测试类 3.leecode1 1 ...
- 不支持给定路径的格式_剑指offer_12_矩阵中的路径
//面试题12.矩阵中的路径 //题目:请设计一个函数,用来判断在一个矩阵中,是否存在一条包含某字符串所有字符的路径. //路径可以从矩阵中任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如 ...
- 剑指Offer对答如流系列 - 矩阵中的路径
文章目录 面试题11:矩阵中的路径 一.题目描述 二.问题分析 三.实现 四.探讨 解空间 (1)子集树 (2)排列树 面试题11:矩阵中的路径 一.题目描述 请设计一个函数,用来判断在一个矩阵中是否 ...
- 剑指offer 矩阵中的路径 @python
剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...
- 【牛客 - 剑指offer】JZ12 矩阵中的路径 深度优先搜索DFS Java实现
文章目录 剑指offer题解汇总 Java实现 本题链接 题目 题目主要信息 方案 深度优先搜索 剑指offer题解汇总 Java实现 https://blog.csdn.net/guliguligu ...
- 《剑指offer》——矩阵中的路径
更多2019年的技术文章,欢迎关注我的微信公众号:码不停蹄的小鼠松(微信号:busy_squirrel),也可扫下方二维码关注获取最新文章哦~ T: 题目描述 请设计一个函数,用来判断在一个矩阵中是否 ...
最新文章
- Deep Reading | 从0到1再读注意力机制,此文必收藏!
- android heic图片,如何在Windows / MacOS / Android上打開HEIC照片
- python3练习题:1-10
- 数据中心在未来数据管理中的作用
- MSSql2005: Cube 和 RollUp 的区别
- 1715: 序列变换(LIS变形)
- 武汉数字工程研究所计算机软件分数,武汉数字工程研究所2017考研成绩查询时间:2月16日...
- 【vue开发】vue插件的install方法
- 3.9 创建数据类型
- 小智机器人有初中课程吗_征战记大写的优秀!2020世界机器人大赛,看这些奖项收入囊中!...
- java 解析p12_java读取*.p12证书的信息 | 学步园
- python怎么读写文件-Python 文件I/O
- 谭浩强版本C语言课后习题第二章
- Qt 之 HTTP 请求下载(支持断点续传)
- 【转】MapGISnbsp;K9基础系…
- 平面纹理坐标和球面坐标互相转换
- 自制简单的诗歌搜索系统
- 一次苦中作乐的追码过程(上)
- 基于Ubuntu20.04运行OP-TEE_3.17.0_QEMU_V8的环境搭建
- java 推广海报_使用java画一张海报
热门文章
- 机器学习问题的十个实例
- ajax获取openid,异步环境下获取 openid的几个方法
- 专门为某种用途而设计的计算机 称为,专门为某种用途而设计的计算机,称为计算机...
- 北方民族大学计算机考研专业课,2021北方民族大学专业课考研真题资料汇总!!...
- c++冒泡排序_python+C、C++混合编程的应用
- python如何设置画布开始位置_如何设置亚马逊站内广告?亚马逊自动广告手动广告都在什么位置?...
- TMS320C55x的硬件结构
- 汇编学习--7.9--寄存器
- const 修饰的对象属性可以修改,但是修饰的常量就不可以修改
- 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档