zoukankan      html  css  js  c++  java
  • [leetcode-79-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 =
    [
    ['A','B','C','E'],
    ['S','F','C','S'],
    ['A','D','E','E']
    ]
    word = "ABCCED", -> returns true,
    word = "SEE", -> returns true,
    word = "ABCB", -> returns false.

    思路:

    深度优先遍历。

    bool dfs(vector< vector< char> >& board, string word,int row ,int col ,int start,int m,int n,int length)
    {
        char curChar = board[row][col];
        bool res = false;
    
        if(curChar != word[start]) return false;
        if(start == length - 1) return true;
    
        board[row][col] = '*';
        if(row>0) res = dfs(board,word,row-1,col,start+1,m,n,length);
        if(!res && row < m-1) res = dfs(board,word,row+1,col,start+1,m,n,length);
        if(!res && col>0) res = dfs(board,word,row,col-1,start+1,m,n,length);
        if(!res && col<n-1) res = dfs(board,word,row,col+1,start+1,m,n,length);
        board[row][col] = curChar;
    
        return res;
    }
    bool exist(vector< vector< char> >& board, string word)
    {
        int m = board.size() , n = board[0].size(), length = word.size();
    
        if( m && n && length)
        {
            for(int i = 0;i < m;i++)
            {
                for(int j =0;j<n;j++)
                {
                    if(dfs(board,word,i,j,0,m,n,length))
                        return true;
                }
            }
        }
        return false;
    }
  • 相关阅读:
    oracle安装
    Jmeter入门篇
    DOS常用命令
    SpringBoot中使用JNnit4(一)之Mockito的使用
    SpringBoot中使用JNnit4(入门篇)
    SpringBoot搭建
    SpringBoot中集成Swagger2
    jpa使用过程中出现问题记录[持续更新]
    Python逆向(五)—— Python字节码解读
    Python逆向(四)—— Python内置模块dis.py源码详解
  • 原文地址:https://www.cnblogs.com/hellowooorld/p/6751970.html
Copyright © 2011-2022 走看看