*LeetCode 79. Word Search DFS
来源:互联网 发布:淘宝详情页尺寸790? 编辑:程序博客网 时间:2024/05/02 00:31
https://leetcode.com/problems/word-search/
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <stack>#include <vector>using namespace std;const int SIZE = 129;class Solution {public: bool exist(vector<vector<char> >& board, string word) { int bhash[SIZE] = {0}; int whash[SIZE] = {0}; for(int i=0;i<board.size();i++) { for( int j=0; j<board[i].size(); j++ ) { bhash[ board[i][j] ] ++; } } for( int i=0; i<word.size(); i++ ) { whash[ word[i] ] ++; } for(int i=0;i<SIZE;i++) { if(whash[i] > bhash[i])return false; } int flag = 0; if(board.size() == 0) return false; int mat[SIZE][SIZE]; for(int i=0; i<board.size(); i++) { for(int j=0; j<board[i].size(); j++) { memset(mat, 0, sizeof(mat)); flag = dfs(i, j, board, word, mat); if( flag ) return true; } } return false; } bool dfs(int h, int lie, vector< vector<char> > &board, string wd, int mat[SIZE][SIZE]) { bool ret = false; if(wd[0] != board[h][lie] || mat[h][lie] )return false; mat[h][lie] = 1; if(wd.size() == 1 ) return true; ret= ( h-1>=0 && dfs(h-1, lie, board, wd.substr(1), mat) ) || ( h+1 < board.size() && dfs(h+1, lie, board, wd.substr(1), mat) ) || ( lie-1>=0 && dfs(h, lie-1, board, wd.substr(1), mat) ) || ( lie+1<board[0].size() && dfs(h, lie+1, board, wd.substr(1), mat) ); mat[h][lie] = 0; //忘记写了 WA了,, return ret; //up down left right }};int main() { freopen( "79.txt", "r", stdin ); string word; int n; while( cin >> n ) { vector < vector<char> > board; for(int i=0;i<n;i++) { cin >> word; vector <char> tmp; for( int j=0;j<word.size(); j++ ) { tmp.push_back(word[j]); } board.push_back(tmp); } cin >> word; Solution s; cout << s.exist(board, word); } return 0;}
0 0
- *LeetCode 79. Word Search DFS
- LeetCode Word Search(DFS)
- leetcode---word-search---dfs
- Leetcode-Word Search(dfs)
- LeetCode 79 Word Search (DFS)
- leetcode 79. Word Search 改进版本的dfs算法
- leetcode 79. Word Search DFS深度优先遍历
- leetcode -- Word Search I & II -- dfs 重点
- Leetcode 79 - Word Search(dfs)
- LeetCode 79. Word Search
- [LeetCode]79.Word Search
- LeetCode --- 79. Word Search
- [Leetcode] 79. Word Search
- [leetcode] 79.Word Search
- 【leetcode】79. Word Search
- [LeetCode]79. Word Search
- 79. Word Search LeetCode
- leetcode 79. Word Search
- 个人对GCD的简介
- linux 进程管理
- POJ 3253 Fence Repair(优先队列)
- C++中的浅拷贝和深拷贝
- 不规则Image
- *LeetCode 79. Word Search DFS
- 机器学习算法选择
- 剑指offer-面试题1:赋值运算符函数
- Spark Streaming和Flume集成指南V1.4.1
- 拉格朗日插值法复习小计
- SDK 开发中见到的问题
- Jersey项目从Tomcat8到Glassfish4.1.1
- vim 基础篇
- oracle中REGEXP_SUBSTR方法的使用