题目12

bool has_path_core(char *matrix, int rows, int cols, int row, int col, string a, int &pathlen, bool *visited){
if(pathlen == a.length() - 1)
return true;
bool result = false;
if(row >= 0 && col >= 0 && row < rows && col < cols && matrix[row * cols + col] == a[pathlen] && !visited[row * cols + col]) {
++pathlen;
visited[row * cols + col] = true;
result = has_path_core(matrix, rows, cols, row - 1, col, a, pathlen, visited) ||
has_path_core(matrix, rows, cols, row + 1, col, a, pathlen, visited) ||
has_path_core(matrix, rows, cols, row, col + 1, a, pathlen, visited) ||
has_path_core(matrix, rows, cols, row, col - 1, a, pathlen, visited);
if(!result) {
--pathlen;
visited[row * cols + col] = false;
}
}
return result;
}

题目13

int get_digit(int num) {
int result = 0;
while(num > 0) {
result += num % 10;
num /= 10;
}
return result;
}
int nums(int threshold, int rows, int cols, int row, int col, int &result, bool *help) {
if(!help[row * cols + col] && row < rows && row >= 0 && col >= 0 && col < cols
&& (get_digit(row) + get_digit(col)) <= threshold) {
++result;
help[col + row * cols] = true;
nums(threshold, rows, cols, row - 1, col, result, help);
nums(threshold, rows, cols, row + 1, col, result, help);
nums(threshold, rows, cols, row, col - 1, result, help);
nums(threshold, rows, cols, row, col + 1, result, help);
}
return result;
}

转载于:https://www.cnblogs.com/bloomingFlower/p/7804329.html

剑指offer 回溯法 面试题12 矩阵中的路径 面试题13 机器人的运动范围相关推荐

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

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

  2. 剑指Offer - 面试题12. 矩阵中的路径(DFS回溯)

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

  3. leetcode —— 面试题12. 矩阵中的路径

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

  4. 剑指offer面试题12. 矩阵中的路径(矩阵搜索)(深度优先搜索)(剪枝)

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

  5. 剑指offer—回溯

    回溯法的思想: 在包含所有解的解空间树里面,我们从头开始来探索,当发现不满足结果的时候,就往回缩一步,还不满足就再缩,最终走通 题目代号: 剑指 Offer 12. 矩阵中的路径 题目描述: 给定一个 ...

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

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

  7. LeetCode-剑指 Offer 12. 矩阵中的路径

    剑指 Offer 12. 矩阵中的路径 思路一:DFS+回溯 DFS 解析: 递归参数: 当前元素在矩阵 board 中的行列索引 i 和 j ,当前目标字符在 word 中的索引 k . 终止条件: ...

  8. 【LeetCode】剑指 Offer 34. 二叉树中和为某一值的路径

    [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 文章目录 [LeetCode]剑指 Offer 34. 二叉树中和为某一值的路径 package offer;import ja ...

  9. 剑指 Offer 22(链表4).链表中的倒数第k个结点

    剑指 Offer 22(链表4).链表中的倒数第k个结点 问题描述: 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点. 例如,一个链 ...

最新文章

  1. 计算机网络_NAT与NAPT
  2. 炼数成金数据分析课程---8、数据清洗
  3. 2019年安徽省模块七满分多少_艺考资讯 | 2021年美术统考考多少分才能通过?过了合格线有什么意义?美术生一定要重视!...
  4. 计算机的网络体系以及参考模型
  5. java日期工具类DateUtil
  6. python time智能等待_Python Selenium智能等待
  7. UE4 Slate概述
  8. GridView常用代码 (转)
  9. numpy 常用api(二)
  10. 无线组网-AC联动radius服务器实现portal认证
  11. 数学知识——高数速查手册
  12. Android 各国语言包字符串缩写
  13. 在ubuntu系统下下载和卸载skype
  14. python中mysqldb模块_Python学习之MySQLdb模块
  15. linux终端分屏工具tumx
  16. 我学习的三种三栏(左中右)布局方法
  17. 手机拍照光线不够白平衡自动改变_白平衡:一个被低估的参数,掌握好它,提升摄影中的色彩管理水平...
  18. 未来的计算机科技画,未来科技生活绘画作品有哪些
  19. 计算机专业男生礼物排行榜,男人内心最想收到的礼物,得票数最多的居然是这十个...
  20. 【stata】stata软件将excel转换成.dta数据

热门文章

  1. 線陣相機處理時間計算方法
  2. php 图片上传预览(转)
  3. 如何在XenDesktop没有工具栏情况下实现U盘自动映射为可移动磁盘
  4. centos6 nodejs 安装测试
  5. 给JSP页面加过滤器
  6. 深入浅出剖析 OpenCV 视觉处理
  7. HystrixDashbord
  8. setHeadAndPropagate
  9. SimpleExecutor.doQuery()-创建Statement
  10. Spring 提供哪些配置形式?