[leetcode]Word Search
来源:互联网 发布:mac 打开android sdk 编辑:程序博客网 时间:2024/06/04 17:43
Word Search
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 =
[ ["ABCE"], ["SFCS"], ["ADEE"]]word =
"ABCCED"
, -> returns true
,word =
"SEE"
, -> returns true
,word =
"ABCB"
, -> returns false
.解题思路:深度优先遍历运用,从每个点开始进行深度优先遍历,右上左下四个方向查找,如果找到讲访问过的元素进行标记,
找不到将元素访问标记置为未曾访问状态。
找不到将元素访问标记置为未曾访问状态。
void dfs(vector<vector<char> > &board, int row, int column, vector<vector<bool> > &visited, string &str, int si, bool &flg){if(si == str.size()){flg = true;return;}if(!flg){if(row >= board.size() || row < 0 || column >= board[0].size() || column < 0){return;}if(str[si] == board[row][column] && !visited[row][column]){visited[row][column] = true;if(!flg) dfs(board, row, column + 1, visited, str, si + 1, flg); //向右if(!flg) dfs(board, row + 1, column, visited, str, si + 1, flg); //向下if(!flg) dfs(board, row, column - 1, visited, str, si + 1, flg); //向左if(!flg) dfs(board, row - 1, column, visited, str, si + 1, flg); //向上if(!flg) visited[row][column] = false;}}}//word searchbool exist(vector<vector<char> > &board, string word) {int m = board.size();if(0 == m) return false;int n = board[0].size();vvb(m, vector<bool>(n, false));bool flg = false;for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){dfs(board, i, j, vvb, word, 0, flg);if(flg) break;}if(flg) break;}return flg; }
0 0
- LeetCode: Word Search
- [Leetcode] Word Search
- LeetCode : Word Search
- Leetcode: Word Search
- [LeetCode] Word Search
- leetcode 56: Word Search
- Leetcode 79 Word Search
- [leetcode ] word search
- [Leetcode] Word Search
- [LeetCode]Word Search
- Leetcode Word Search
- [leetcode]word search
- [leetcode] Word Search
- LeetCode-Word Search
- [LeetCode] Word Search
- LeetCode - Word Search
- leetcode word search
- LeetCode:Word Search
- UVa 494 - Kindergarten Counting Game
- nasm程序从32位到64位平台的移植(三)
- 第三周作业-循环与判断语句
- Java容器
- spring aop 注解方式
- [leetcode]Word Search
- I have a dream
- 手动编译java程序
- 兰州9民办中学四区拟招生2500人 今年启用电脑派位
- Baskets of Gold Coins 2401
- 4.4从图库选择图片,获取图片路径并裁剪
- C++中输入
- android Theme
- java图形图片选择应用程序