79. Word Search
Posted zhuangbijingdeboke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了79. Word Search相关的知识,希望对你有一定的参考价值。
1 static int wing=[]() 2 { 3 std::ios::sync_with_stdio(false); 4 cin.tie(NULL); 5 return 0; 6 }(); 7 8 class Solution 9 { 10 public: 11 bool exist(vector<vector<char>>& board, string &word) 12 { 13 int len=word.length(); 14 int szrow=board.size(); 15 int szcol=board[0].size(); 16 bool back=false; 17 for(int row=0;row<szrow;row++) 18 { 19 for(int col=0;col<szcol;col++) 20 { 21 if(board[row][col]==word[0]) 22 { 23 if(judge(board,row,col,szrow,szcol,word,len,0)) 24 return true; 25 } 26 } 27 } 28 return false; 29 } 30 31 bool judge(vector<vector<char>> &board,int row,int col,int &szrow,int &szcol,string &word,int &len,int p) 32 { 33 bool res=false; 34 char cur=board[row][col]; 35 if(board[row][col]!=word[p]) 36 return false; 37 if(p==len-1) 38 return true; 39 board[row][col]=‘+‘; 40 if(row>0) res=judge(board,row-1,col,szrow,szcol,word,len,p+1); 41 if(res==false&&row<szrow-1) res=judge(board,row+1,col,szrow,szcol,word,len,p+1); 42 if(res==false&&col>0) res=judge(board,row,col-1,szrow,szcol,word,len,p+1); 43 if(res==false&&col<szcol-1) res=judge(board,row,col+1,szrow,szcol,word,len,p+1); 44 board[row][col]=cur; 45 return res; 46 } 47 };
字符矩阵中查找单词,要求单词字母必须相邻出现在矩阵中,动态规划搞定,比较完当前单词,将当前单词置为一个符号,类似那个岛屿问题,向四个方向查找,在比较完当前坐标后,要把字符换回来。
以上是关于79. Word Search的主要内容,如果未能解决你的问题,请参考以下文章