怎样用linux做网站,美容院网站建设,电商saas,邯郸房产信息网查询系统矩阵中的路径 题目描述示例 题解 题目描述
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。
单词必须按照字母顺序#xff0c;通过相邻的单元格内的字母构成#xff0… 矩阵中的路径 题目描述示例 题解 题目描述
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中返回 true 否则返回 false 。
单词必须按照字母顺序通过相邻的单元格内的字母构成其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 LeetCode 79 单词搜索
示例 输入board [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word “ABCCED” 输出true 题解
class Solution {
public:bool exist(std::vectorstd::vectorchar board, std::string word) {int rows board.size(), cols board[0].size();int direction[5] {-1, 0, 1, 0, -1};functionbool(int, int, int) check [](int i, int j, int k) - bool {if (k word.size()) return true;if (i 0 || i rows || j 0 || j cols || board[i][j] ! word[k]) return false;board[i][j] .;for (int it 0; it 4; it) {if(check(i direction[it], j direction[it 1], k1)) {board[i][j] word[k];return true;}}board[i][j] word[k];return false;};for (int i 0; i rows; i) {for (int j 0; j cols; j) {if(check(i, j, 0)) {return true;}}}return false;}
};