LeetCode:60.单词搜索

目录

1.单词搜索


1.单词搜索

cpp 复制代码
class Solution {
    bool check[7][7];
    int m, n;
public:
    bool exist(vector<vector<char>>& board, string word) 
    {
        m = board.size(), n = board[0].size();
        for(int i = 0; i < m; i++)
            for(int j = 0; j < n; j++)
                if(board[i][j] == word[0])
                {
                    check[i][j] = true;
                    if(dfs(board, i, j, word, 1) == true) return true;
                    check[i][j] = false;
                }
        return false;
    }

    int dx[4] = {0, 0, 1, -1};
    int dy[4] = {1, -1, 0, 0};

    bool dfs(vector<vector<char>>& board, int i, int j, string word, int pos)
    {
        
        if(pos == word.size()) return true;
        for(int k = 0; k < 4; k++)
        {
            int x = i + dx[k], y = j + dy[k];
            if(x >= 0 && x < m && y >= 0 && y < n && check[x][y] == false && board[x][y] == word[pos])
            {
                check[x][y] = true;
                if(dfs(board, x, y, word, pos + 1) == true) return true;
                check[x][y] = false;
            }
        }
        return false;
    }
};
相关推荐
旖旎夜光1 分钟前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
青山木8 分钟前
Hot 100 --- 搜索二维矩阵
java·算法·leetcode·矩阵
旖旎夜光11 分钟前
LeetCode 1262:可被三整除的最大和 (贪心算法)—— 题解
数据结构·c++·算法·leetcode·贪心算法
心运软件15 分钟前
基于机器学习的智能邮件分类系统:从数据采集到模型部署全流程实战
人工智能·python·算法·随机森林·机器学习·分类·scikit-learn
晚风叙码1 小时前
C++ 模板深度解析:类型模板、非类型模板、特化与分离编译
开发语言·c++·算法
依然鸣1 小时前
蓝桥杯多校模拟赛(第二场)题解
数据结构·c++·经验分享·学习·算法·图论
依然鸣2 小时前
蓝桥杯多校模拟赛 题解
数据结构·c++·经验分享·学习·算法·蓝桥杯
AKA__Zas2 小时前
芝士算法(位运算)
java·开发语言·算法·leetcode·学习方法
wabs6662 小时前
关于图论【Kruskal算法|卡码网53.寻宝的思考】
数据结构·算法·图论·卡码网
hans汉斯2 小时前
人工智能与机器人研究|面向无标签数据的三维场景语义理解方法研究
人工智能·神经网络·算法·信息可视化·cnn·机器人