• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            FireEmissary

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              14 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks

            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.

            訪問過的元素不能再訪問,發(fā)現(xiàn)大家的實現(xiàn)都是用個附加結(jié)構(gòu)標(biāo)記訪問過的.就地賦值個'\0'后面再恢復(fù)好啦.......

             bool exist(vector<vector<char>>& board,int i,int j,string::iterator beg,string::iterator end)
               {
                   
            bool res=true;
                   
            char cur=*beg++;
                   
            if(board[i][j]!=cur)return false;
                   
            if(beg==end)return true;   
                   board[i][j]
            =0;
                   
            do{//上下左右
                    if(i+1<board.size()&&exist(board,i+1,j,beg,end))
                       
            break;
                    
            if(i-1>=0&&exist(board,i-1,j,beg,end))
                      
            break;
                    
            if(j+1<board[0].size()&&exist(board,i,j+1,beg,end))
                       
            break;
                      
            if(j-1>=0&& exist(board,i,j-1,beg,end))
                        
            break;
                        res
            =false;
                     }
            while(0);
                    board[i][j]
            =cur; 
                   
            return res;
               }
                
            bool exist(vector<vector<char>>& board, string word) {
                      
            char beg=word[0];
                      
            for(int i=0;i<board.size();++i)
                        
            for(int j=0;j<board[0].size();++j)
                            
            if(exist(board,i,j,word.begin(),word.end()))
                                
            return true;
                    
            return false;
                                
                }


            posted on 2016-03-26 18:41 FireEmissary 閱讀(925) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            麻豆久久| 97久久精品人妻人人搡人人玩| 51久久夜色精品国产| 久久精品国产99久久久香蕉| 亚洲国产天堂久久综合| 久久99精品久久久久久hb无码| 99久久精品国产一区二区三区| 美女久久久久久| 国产精品一区二区久久精品| 久久久噜噜噜久久中文字幕色伊伊| 香蕉久久av一区二区三区| 国产精品久久久久久福利69堂| 亚洲人成无码网站久久99热国产| 久久人人爽爽爽人久久久| 欧美一区二区精品久久| 久久人妻少妇嫩草AV蜜桃| 国产精品美女久久久久| 热久久最新网站获取| 66精品综合久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 91精品国产高清久久久久久国产嫩草 | 无码伊人66久久大杳蕉网站谷歌| 久久国产AVJUST麻豆| 好久久免费视频高清| 久久久久久综合网天天| 亚洲国产成人久久综合一区77| 久久亚洲精品中文字幕三区| 久久成人国产精品| 漂亮人妻被黑人久久精品| 香蕉99久久国产综合精品宅男自| 久久综合狠狠色综合伊人| 国产精品99久久99久久久| 亚洲国产精品一区二区久久hs| 一本大道久久东京热无码AV| 狠狠久久综合| 久久伊人亚洲AV无码网站| 91麻豆精品国产91久久久久久 | 久久99精品国产麻豆婷婷| 国产精品成人精品久久久| 伊人色综合久久| 久久国产精品二国产精品|