c++算法总结

c++算法总结,第1张

c++算法总结 DFS 79单词搜索

检索特定路径,从二维字符里检索特定单词,使用dfs算法,当深度达标后,检索终止。-为了提升速度,要把false的情况,写在前面,及时返回。又是cout也会导致超时
递归实现的dfs:

int dfs(vector>& board, string word, int i, int j, int depth){
    //cout<= board.size() || j < 0 || j >= board[0].size())
        return false;
    if(board[i][j] != word[depth])//先把false写前面,防止超时
        return false;
    if(depth >= word.size() - 1)
        return true;
    
    //cout<<"7 line"<>& board, string word) {
        for(int i = 0; i < board.size(); i++){
            for(int j = 0; j < board[0].size(); j++){
                
                    //board[i][j] = '!';
                if(dfs(board, word, i, j, 0))
                    return true;
                    //board[i][j] = word[0];             
            }
        }
        return false;

    }
};

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5503240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存