• <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色69| 久久99热这里只有精品国产| 久久久久久毛片免费播放| 九九久久99综合一区二区| 久久久久亚洲?V成人无码| 亚洲中文字幕无码久久精品1| 亚洲中文字幕久久精品无码喷水| 99久久国产综合精品麻豆| 香蕉久久av一区二区三区| 精品国产青草久久久久福利| 亚洲精品乱码久久久久久按摩 | 久久久久久亚洲精品影院| 精品久久久久久无码专区不卡| 国产精品久久久99| 91精品国产91久久久久福利| 精品国产婷婷久久久| 久久精品国产亚洲精品2020| 久久无码一区二区三区少妇 | 久久伊人五月丁香狠狠色| 久久国产综合精品五月天| 囯产精品久久久久久久久蜜桃| 国产精品日韩深夜福利久久| 性欧美丰满熟妇XXXX性久久久 | 性高湖久久久久久久久| 亚洲欧美日韩久久精品| 色8激情欧美成人久久综合电| 久久亚洲AV无码精品色午夜| 99久久精品国产麻豆| 亚洲AV无一区二区三区久久 | 国产成人精品久久免费动漫| 久久天天婷婷五月俺也去| 久久精品国产亚洲5555| 成人精品一区二区久久| 99久久精品国产一区二区蜜芽| 久久久久99精品成人片试看| 久久久久人妻一区二区三区| 精品久久久久久无码不卡| 亚洲精品无码久久毛片| 午夜视频久久久久一区| 色青青草原桃花久久综合|