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;
    }
};
相关推荐
patrickpdx1 天前
leetcode:环形链表
算法·leetcode·链表
资深web全栈开发1 天前
LeetCode 3652: 按策略买卖股票的最佳时机
算法·leetcode·职场和发展
Wang ruoxi1 天前
基于最小二乘法的离散数据拟合
人工智能·算法·机器学习
Xの哲學1 天前
Linux链路聚合深度解析: 从概念到内核实现
linux·服务器·算法·架构·边缘计算
加成BUFF1 天前
C++入门讲解3:数组与指针全面详解
开发语言·c++·算法·指针·数组
代码游侠1 天前
应用——管道与文件描述符
linux·服务器·c语言·学习·算法
一招定胜负1 天前
决策树开篇
算法·决策树·机器学习
GoWjw1 天前
C语言高级特性
c语言·开发语言·算法
carver w1 天前
说人话版 K-means 解析
算法·机器学习·kmeans
小O的算法实验室1 天前
2026年SEVC SCI2区,基于差分向量内学习策略的自适应指数交叉差分进化算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进