首页 > 试题广场 >

单词搜索

[编程题]单词搜索
  • 热度指数:15881 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给出一个二维字符数组和一个单词,判断单词是否在数组中出现,
单词由相邻单元格的字母连接而成,相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。
例如:
给出的字符数组=
[
  ["XYZE"],
  ["SFZS"],
  ["XDEE"]
]
单词 ="XYZZED", -> 返回 true,
单词 ="SEE", ->返回 true,
单词 ="XYZY", -> 返回 fXlse.

头像 小牛冲冲冲jiang
发表于 2021-09-22 03:10:42
public class Solution { boolean[][] visited; public boolean exist(char[][] board, String word) { this.visited = new boolean[board.leng 展开全文
头像 华科不平凡
发表于 2020-09-24 17:23:57
DFS(注意dfs函数中需要通过或运算进行剪枝,否则会超时): // // Created by jt on 2020/9/24. // #include <vector> #include <string> using namespace std; class Solut 展开全文
头像 大厂算法岗必拿下
发表于 2021-09-22 05:17:22
专门适用于true false 的模板。记得把base case 2放前,否则会超时 class Solution { public: bool DFS(vector<vector<char> > &board,string word, int cur, 展开全文
头像 牛客986224893号
发表于 2021-09-14 20:26:48
稍微优化了一下第一个代码,用‘1’表示访问过 class Solution { public: bool exist(vector<vector<char> > &board, string word) { int m = board.size 展开全文