又是一道回溯法的问题。目前关于回溯法,只是处于能看懂代码的阶段。给你一道新题,估计还是很难答得出来,不过没关系。先把这几道题弄熟了再说。

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:矩阵中的路径相关推荐

  1. 剑指offer:面试题12. 矩阵中的路径

    题目:矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如果一条路径经过了矩阵的某一 ...

  2. 【剑指Offer学习】【面试题66:矩阵中的路径】

    [剑指Offer学习][面试题66:矩阵中的路径] 题目:请设计一个函数,用来推断在一个矩阵中是否存在一条包括某字符串全部字符的路径.路径能够从矩阵中随意一格開始.每一步能够在矩阵中间向左.右.上.下 ...

  3. 【有返回值的回溯法】剑指offer——面试题66:矩阵中的路径(回溯法)

    剑指offer--面试题66:矩阵中的路径(回溯法) Solution:1 典型的回溯算法及代码 此题是回溯法的典型例题,思路以及代码均是书中所讲.要具体实现很有参考价值,借鉴之! 现在把书中代码贴在 ...

  4. 《剑指offer》-- 回溯法:矩阵中的路径、机器人的运动范围

    一.矩阵中的路径 1.题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子. ...

  5. 【算法】剑指 Offer 12. 矩阵中的路径

    文章目录 1.概述 2.我的算法 2.1 棋盘 2.1 开始节点 2.2 点没被访问 2.3 点是否在棋盘内 2.4 下一步 2.5 主方法 2.6 核心方法 2.7 测试类 3.leecode1 1 ...

  6. 不支持给定路径的格式_剑指offer_12_矩阵中的路径

    //面试题12.矩阵中的路径 //题目:请设计一个函数,用来判断在一个矩阵中,是否存在一条包含某字符串所有字符的路径. //路径可以从矩阵中任意一格开始,每一步可以在矩阵中向左.右.上.下移动一格.如 ...

  7. 剑指Offer对答如流系列 - 矩阵中的路径

    文章目录 面试题11:矩阵中的路径 一.题目描述 二.问题分析 三.实现 四.探讨 解空间 (1)子集树 (2)排列树 面试题11:矩阵中的路径 一.题目描述 请设计一个函数,用来判断在一个矩阵中是否 ...

  8. 剑指offer 矩阵中的路径 @python

    剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...

  9. 【牛客 - 剑指offer】JZ12 矩阵中的路径 深度优先搜索DFS Java实现

    文章目录 剑指offer题解汇总 Java实现 本题链接 题目 题目主要信息 方案 深度优先搜索 剑指offer题解汇总 Java实现 https://blog.csdn.net/guliguligu ...

  10. 《剑指offer》——矩阵中的路径

    更多2019年的技术文章,欢迎关注我的微信公众号:码不停蹄的小鼠松(微信号:busy_squirrel),也可扫下方二维码关注获取最新文章哦~ T: 题目描述 请设计一个函数,用来判断在一个矩阵中是否 ...

最新文章

  1. Deep Reading | 从0到1再读注意力机制,此文必收藏!
  2. android heic图片,如何在Windows / MacOS / Android上打開HEIC照片
  3. python3练习题:1-10
  4. 数据中心在未来数据管理中的作用
  5. MSSql2005: Cube 和 RollUp 的区别
  6. 1715: 序列变换(LIS变形)
  7. 武汉数字工程研究所计算机软件分数,武汉数字工程研究所2017考研成绩查询时间:2月16日...
  8. 【vue开发】vue插件的install方法
  9. 3.9 创建数据类型
  10. 小智机器人有初中课程吗_征战记大写的优秀!2020世界机器人大赛,看这些奖项收入囊中!...
  11. java 解析p12_java读取*.p12证书的信息 | 学步园
  12. python怎么读写文件-Python 文件I/O
  13. 谭浩强版本C语言课后习题第二章
  14. Qt 之 HTTP 请求下载(支持断点续传)
  15. 【转】MapGISnbsp;K9基础系…
  16. 平面纹理坐标和球面坐标互相转换
  17. 自制简单的诗歌搜索系统
  18. 一次苦中作乐的追码过程(上)
  19. 基于Ubuntu20.04运行OP-TEE_3.17.0_QEMU_V8的环境搭建
  20. java 推广海报_使用java画一张海报

热门文章

  1. 机器学习问题的十个实例
  2. ajax获取openid,异步环境下获取 openid的几个方法
  3. 专门为某种用途而设计的计算机 称为,专门为某种用途而设计的计算机,称为计算机...
  4. 北方民族大学计算机考研专业课,2021北方民族大学专业课考研真题资料汇总!!...
  5. c++冒泡排序_python+C、C++混合编程的应用
  6. python如何设置画布开始位置_如何设置亚马逊站内广告?亚马逊自动广告手动广告都在什么位置?...
  7. TMS320C55x的硬件结构
  8. 汇编学习--7.9--寄存器
  9. const 修饰的对象属性可以修改,但是修饰的常量就不可以修改
  10. 粉碎文件软件测试大乐,软件测试基础(面试)(27页)-原创力文档