• leetcode79 单词搜索(Medium)


    题目来源:leetcode79 单词搜索

    题目描述:

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

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

    示例:

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

    给定 word = "ABCCED", 返回 true
    给定 word = "SEE", 返回 true
    给定 word = "ABCB", 返回 false
     
    提示:

    board 和 word 中只包含大写和小写英文字母。
    1 <= board.length <= 200
    1 <= board[i].length <= 200
    1 <= word.length <= 10^3

    解题思路:

    回溯。记录访问过的位置,一条路走不通则回退。

    class Solution {
    public:
        bool backtrace(vector<vector<bool>> &visited,vector<vector<char>>& board, string word,int index,int row,int col){
            int m=board.size(),n=board[0].size();
            if(index==word.size()){
                return true;
            }
            if(row>=0&&row<m&&col>=0&&col<n&&board[row][col]==word[index]&&!visited[row][col])
            {
                visited[row][col]=true;
                bool judge=backtrace(visited,board,word,index+1,row+1,col)||backtrace(visited,board,word,index+1,row,col+1)||backtrace(visited,board,word,index+1,row-1,col)||backtrace(visited,board,word,index+1,row,col-1);
                if(judge==false) visited[row][col]=false;
                else return true;
            }
            return false;
        }
        bool exist(vector<vector<char>>& board, string word) {
            int m=board.size(),n=board[0].size();
            vector<vector<bool>> visited(m,vector<bool>(n,false));
            bool judge=false;
            for(int i=0;i<m;i++){
                for(int j=0;j<n;j++){
                    if(backtrace(visited,board,word,0,i,j)) return true;
                }
            }
            return false;
        }
    };
    
  • 相关阅读:
    无阻塞网络
    带宽、线速、吞吐量
    one-to-all及all-to-all网络通信模式
    CLOS网络架构与FATTREE胖树拓扑
    CLOS网络
    IP分片与重组详解
    原 TCP层的分段和IP层的分片之间的关系 & MTU和MSS之间的关系
    多个方面比较电路交换、报文交换和分组交换的主要优缺点
    地址族与数据序列 (转)
    简单网络搭建与测试 mininet
  • 原文地址:https://www.cnblogs.com/yjcoding/p/13278811.html
Copyright © 2020-2023  润新知