首页 > 其他分享 >79. Word Search

79. Word Search

时间:2022-12-01 20:05:12浏览次数:64  
标签:Search word cur board visited Word col 79 row


Given a 2D board and a word, find if the word exists in the grid.

The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once.

For example,
Given board


[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E'] ]


word  = 

​"ABCCED"​

, -> returns 

​true​

,


word

 = 

​"SEE"​

, -> returns 

​true​

,


word

 = 

​"ABCB"​

, -> returns 

​false​

.



​Subscribe​​ to see which companies asked this question

样板题

跟​​剑指offer:矩阵中的路径​​一样

class Solution {
public:
bool exist(vector<vector<char>>& board, string word) {
if (board.empty() || board[0].empty()) return false;
int m = board.size(), n = board[0].size();
vector<vector<bool>> visited(m, vector<bool>(n, false));
for (int i = 0; i < m; i++){
for (int j = 0; j < n; j++){
if (dfs(board, word, visited, 0, i, j)){
return true;
}
}
}
return false;
}
private:
bool dfs(vector<vector<char>>& board, string word, vector<vector<bool>>&visited,
int cur,int row,int col){
if (cur == word.size()){
return true;
}

bool found = false;
if (row >= 0 && row < board.size() && col >= 0 && col < board[0].size() &&
!visited[row][col] && board[row][col] == word[cur]){
visited[row][col] = true;
found = dfs(board, word, visited, cur + 1, row, col - 1) ||
dfs(board, word, visited, cur + 1, row, col + 1) ||
dfs(board, word, visited, cur + 1, row - 1, col) ||
dfs(board, word, visited, cur + 1, row + 1, col);
if (!found)
visited[row][col] = false;
}

return found;
}
};



标签:Search,word,cur,board,visited,Word,col,79,row
From: https://blog.51cto.com/u_15899184/5904047

相关文章

  • Remove Node in Binary Search Tree
    GivenarootofBinarySearchTreewithuniquevalueforeachnode.Removethenodewithgivenvalue.Ifthereisnosuchanodewithgivenvalueinthebinary......
  • ElasticSearch笔记
    原文地址:https://www.kuangstudy.com/bbs/1354069127022583809笔记记录B站狂神说Java的ElasticSearch课程:https://www.bilibili.com/video/BV17a4y1x7zq在学习E......
  • WordPress编辑器支持Word文档粘贴
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......
  • Elasticsearch Mapping字段未支持索引导致搜索失效问题处理
    问题描述:生产上Es根据一个时间字段搜索,却没有返回数据问题分析:根据命令:GETindexName/_mapping查看#GETindexName/_mapping{ "indexName":{ "mappin......
  • WordPress编辑器支持Word文档上传
    ​ 当前功能基于PHP,其它语言流程大致相同 1.新增上传wordjson配置在ueditor\php\config.json中新增如下配置:     /* 上传word配置 */    "wordAction......
  • ElasticSearch面试题
    1.为什么要使用ElasticSearch系统中的数据,随着业务的发展,时间的推移,将会非常多,而业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎放弃索引,导致系统......
  • Linux搭建ElasticSearch集群
    前言这是整个ElasticSearch搭建的最后一篇文章,其实对我而言ElasticSearch在Linux上搭建集群写这篇文章意义并不大,只是为了补充这个空白而已,所以这篇文章并不会讲解很详细......
  • ElasticSearch集群数据读写流程
    前言本章作为ElasticSearch分布式集群的附属章节,主要讲解ElasticSearch集群环境下数据是如何读写的,既然讲到读写,那么ElasticSearch的更新就是基于二者的结合,顺带也讲一下......
  • 「模拟」找到最近的有相同 X 或 Y 坐标的点(力扣第1779题)
    本题为12月1日力扣每日一题题目来源:力扣第1779题题目tag:模拟题面题目描述给你两个整数 x和 y ,表示你在一个笛卡尔坐标系下的 (x,y) 处。同时,在同一个坐标......
  • ELasticSearch优化
    硬件优化Elasticsearch的基础是Lucene,所有的素引和文档数据是存储在本地的磁盘中,具体的路径可在ES的配置文件./config/elasticsearch.yml中配置,如下:磁盘在现代服务......