执行用时 : 24 ms, 在Word Search的C++提交中击败了99.00% 的用户

内存消耗 : 11 MB, 在Word Search的C++提交中击败了78.26% 的用户

类似于迷宫回溯类问题。

上下左右依次寻路。并且使用vis数组作为访问标记。

使用引用加快速度。

class Solution {
public:bool exist(vector<vector<char>>& board, string &word) {//KMP算法的进化版吗。。//回溯算法,四方寻路。if(board.size()==0||word.size()==0) return false;vector<vector<int> > vis(board.size(),vector<int>(board[0].size(),0));//访问矩阵for(int i=0;i<board.size();i++){for(int j=0;j<board[0].size();j++){if(board[i][j]==word[0]) if(find(board,i,j,vis,1,word))return true;}}return false;}bool find(vector<vector<char>>& board,int i,int j,vector<vector<int> > &vis,int len,string &word)//len:当前以及找到多长的了{if(len>=word.size()){return true;}else{vis[i][j]=1;if(i-1>=0&&!vis[i-1][j]&&board[i-1][j]==word[len]) {if(find(board,i-1,j,vis,len+1,word)) return true;}if(i+1<board.size()&&!vis[i+1][j]&&board[i+1][j]==word[len]) {if(find(board,i+1,j,vis,len+1,word)) return true;}if(j-1>=0&&!vis[i][j-1]&&board[i][j-1]==word[len]) {if(find(board,i,j-1,vis,len+1,word)) return true;}if(j+1<board[0].size()&&!vis[i][j+1]&&board[i][j+1]==word[len]) {if(find(board,i,j+1,vis,len+1,word)) return true;}vis[i][j]=0;}return false;}
};

leetcode 79. 单词搜索【类似迷宫回溯】相关推荐

  1. Leetcode 79. 单词搜索(迷宫回溯)

    给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单元格内的字母 ...

  2. Leetcode 79. 单词搜索

    Leetcode 79. 单词搜索 1.问题分析 2.问题解决 3.总结 1.问题分析 题目链接:https://leetcode-cn.com/problems/word-search/   本质上 ...

  3. LeetCode 79 单词搜索

    LeetCode 79 单词搜索 题目链接 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水 ...

  4. Leetcode 79.单词搜索

    Time: 20190901 Type: Medium 题目描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻&q ...

  5. LeetCode 79. 单词搜索【c++/java详细题解】

    目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 给定一个 m x n 二维字符网格 board和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则, ...

  6. LeetCode 79. 单词搜索 | Python

    文章目录 79. 单词搜索 题目 解题思路 代码实现 实现结果 总结 79. 单词搜索 题目来源:https://leetcode-cn.com/problems/word-search 题目 给定一 ...

  7. java实现英文文件单词搜索系统_Java实现 LeetCode 79 单词搜索

    79. 单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格. ...

  8. Java实现 LeetCode 79 单词搜索

    79. 单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格. ...

  9. LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

最新文章

  1. NSOperationQueue
  2. Nacos源码InstanceController
  3. int转换为cstring_PostgreSQL 隐式类型转换探秘
  4. 手术后多久可以做胆摘除_近视手术后多久可以化眼妆?
  5. SqlServer2008r2卸载
  6. Redis 数据类型及应用场景
  7. 西华大学c语言考试题,西华大学C语言程序设计复习题
  8. IntelliJ IDEA 调试技巧,比 Eclipse 强太多了!
  9. 21天学通mysql_《21天学通JavaWeb》 - 随笔分类 - 疯狂delphi - 博客园
  10. webstorm破解之jar包破解(2018)
  11. nachos中文教程java_Nachos实验环境搭建
  12. 思科交换机路由器配置命令大全
  13. 怎样屏蔽掉“网页对话框”
  14. 20行代码制作字符画版小黄鸭表情包
  15. 计算机的硬件地址在哪看,电脑的MAC地址在哪里查看
  16. 动态和静态查看一个进程的内存使用
  17. 【解密】OpenSea免费创造的NFT都没上链竟能出现在我的钱包里?
  18. VMware 安装Ubuntu系统后,启动一直黑屏
  19. ZeroMQ教程中文版
  20. 瓦克美国多晶硅基地爆炸 多晶硅及硅片或涨价

热门文章

  1. android 发现服务,Android服务之网络服务发现服务
  2. 疫情将加速元宇宙办公进程,削弱实体办公|元宇宙科技
  3. 理科女生学计算机好还是财经好,女生理科选什么专业好就业
  4. AMEYA360:芯片的四大分类
  5. TurboMail邮件系统资深技术支持杨工专访(二)
  6. ChatGPT 各类 Prompt 整理
  7. 抖音、快手、拼多多捕蝉,1688在后
  8. 为什么会显示有人正在使用计算机,微信“对方正在输入”为什么有时出现?有时不出现?看完才懂了.....
  9. 纯java版QQ源码下载
  10. 前端工程师自检清单(JavaScript基础)