zoukankan      html  css  js  c++  java
  • 79. 单词搜索

    给定一个二维网格和一个单词,找出该单词是否存在于网格中。

    单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

    示例:

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

    给定 word = "ABCCED", 返回 true.
    给定 word = "SEE", 返回 true.
    给定 word = "ABCB", 返回 false.

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/word-search

    永远都忘不了这么蠢的错误

    class Solution {
    public:
        int dir[4][2]={{1,0},{-1,0},{0,-1},{0,1}},flag=0;
        void dfs(int x,int y,int pos,vector<vector<char>>& board,string& word,vector<vector<bool>>& visited)
        {
            if(flag)
                return;
            if(pos==word.size())
            {
                flag=1;
                return;
            }
            if(x<0 || x>=board.size() || y<0 || y>=board[0].size())
                return;
            if(word[pos]==board[x][y] && visited[x][y]==false)
            {
                visited[x][y]=true;   
                for(int i=0;i<4;i++)
                {
                    dfs(x+dir[i][0],y+dir[i][1],pos+1,board,word,visited);
                }
                visited[x][y]=false;
            } 
        }
        bool exist(vector<vector<char>>& board, string word) {
            vector<vector<bool>> visited(board.size(),vector<bool>(board[0].size(),false));
            for(int i=0;i<board.size();i++)
            {
                for(int j=0;j<board[0].size();j++)
                {
                    //       太蠢了,居然把数组写在这里 vector<vector<bool>> visited(board.size(),vector<bool>(board[0].size(),false));
                    dfs(i,j,0,board,word,visited);
                    if(flag)
                        return true;    
                }
            }
            return false;
        }
    };
  • 相关阅读:
    java这个404你能解决吗?
    java发邮件,这个坑你能填吗?
    自动评论csdn博客文章实现
    一款效率神器Ditto
    java加载国际化文件的几种姿势
    这个问题你能答对吗?
    mysql大小写敏感与校对规则
    java、golang日志文件转储压缩实现
    一款很好用的markdown编辑器
    beego与curl三件事
  • 原文地址:https://www.cnblogs.com/dealer/p/12499372.html
Copyright © 2011-2022 走看看