(day06 dfs+剪枝)剑指 Offer 12. 矩阵中的路径
题目
链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/
题解
典型的矩阵矩阵搜索问题
参考题解:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/solution/mian-shi-ti-12-ju-zhen-zhong-de-lu-jing-shen-du-yo/
class _12TJ2{public boolean exist(char[][] board, String word){// 转化为字符数组便于判断char[] chars = word.toCharArray();// 获取行数int n = board.length;// 获取列数int m = board[0].length;// 从每个节点开始穷举for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {// 只要存在路径上的字符串起来与目标字符串相等,就返回if (dfs(board,chars,n,m,i,j,0)){return true;}}}// 遍历完还是没有匹配到,返回falsereturn false;}public boolean dfs(char[][] board, char[] chars,int n,int m,int i,int j,int k){// 边界条件加是否与当前字符匹配,不匹配直接返回falseif (i>=n || i<0 || j>=m || j<0 || board[i][j] != chars[k]) {return false;}// 当k达到字符串的最后一个字符也匹配时说明匹配成功if (k == chars.length-1){return true;}// 将访问过的字符节点board[i][j] = '\0';boolean res = dfs(board,chars,n,m,i+1,j,k+1) || dfs(board,chars,n,m,i-1,j,k+1) ||dfs(board,chars,n,m,i,j+1,k+1) || dfs(board,chars,n,m,i,j-1,k+1);// 回溯board[i][j] = chars[k];return res;}}
(day06 dfs+剪枝)剑指 Offer 12. 矩阵中的路径相关推荐
- 【算法】剑指 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. 矩阵中的路径
立志用最少的代码做最高效的表达 给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字 ...
- 剑指 Offer 12. 矩阵中的路径
这里使用了回溯算法,回溯算法是一种比较特别的DFS,它需要在达到搜索条件后,回溯上一次,继续搜索.普通的DFS适合找路径是否存在的问题,而回溯算法适合解决有几条路径的问题. 这里给出DFS的模板 df ...
- 剑指Offer 12—矩阵中的路径
题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单元 ...
- 剑指offer——12.矩阵中的路径(不熟)
题目: 题1:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩 ...
- 【LeetCode笔记】79. 单词搜索 剑指 Offer 12 矩阵中的路径(Java、dfs)
文章目录 题目描述 思路 & 代码 更新版 2.0 题目描述 一眼dfs,走四个方向即可 思路 & 代码 class Solution {boolean[][] visited;boo ...
- 剑指 Offer(C++版本)系列:剑指 Offer 12 矩阵中的路径
文章目录 同步GitHub在此
- LeetCode-剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径 思路一:DFS+回溯 DFS 解析: 递归参数: 当前元素在矩阵 board 中的行列索引 i 和 j ,当前目标字符在 word 中的索引 k . 终止条件: ...
- 《剑指offer》——矩阵中的路径
更多2019年的技术文章,欢迎关注我的微信公众号:码不停蹄的小鼠松(微信号:busy_squirrel),也可扫下方二维码关注获取最新文章哦~ T: 题目描述 请设计一个函数,用来判断在一个矩阵中是否 ...
- 剑指offer:矩阵中的路径(递归回溯法DFS类似迷宫)
1. 题目描述 /*请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经 ...
最新文章
- 员工拒绝加班,被判赔公司1.8万!网友炸锅
- spring boot mybatis没有扫描jar中的Mapper接口
- 不止命令行!自定义VS生成事件
- 2021年高考成绩查询山东德洲,2021年德州高考状元是谁分数多少分,历年德州高考状元名单...
- HTTPS-客户端与服务器三次握手过程(含wireshark分析)
- 年度大战即将拉开!iPhone 11系列后,轮到华为Mate30系列表演了
- Android新浪微博分享
- js控制从绿色到红色的渐变
- python无法正常启动0xc000007b_应用程序无法正常启动(0xc000007b)。
- Ubuntu18.04下 安装SMPlyer视频播放器 设置倍速播放
- 计算机电路计数器pl什么意思,计数器原理—不懂就要看哦~~
- linux 硬盘错误,linux – 硬盘读取错误……停止?
- Sybase ASE 查询当前版本和所有数据库
- 活久见!Linux命令行居然也可以用来查看图像?
- P11-Windows与网络基础-Windows用户管理
- “经历了人生百态世间的冷暖,这笑容温暖纯真”
- 展开关闭页面html,JQUERY实现网页右下角固定位置展开关闭特效的方法
- VirtualBox虚拟机与主机间无法复制粘贴
- Python小练习 - 用递归将十进制转化为二进制
- 超详细图解:如何使用 WordPress搭建一个个人博客?