• <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)標記訪問過的.就地賦值個'\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 閱讀(933) 評論(0)  編輯 收藏 引用

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


            99精品久久久久中文字幕| 久久久久久一区国产精品| 丁香狠狠色婷婷久久综合| 久久免费线看线看| 香蕉久久久久久狠狠色| 久久国产免费观看精品3| 99久久国产综合精品成人影院| 久久久久无码中| 97久久香蕉国产线看观看| 日本亚洲色大成网站WWW久久 | 亚洲国产精品一区二区久久| 久久久亚洲精品蜜桃臀| 久久久久AV综合网成人| 亚州日韩精品专区久久久| 夜夜亚洲天天久久| 99久久国产热无码精品免费| 亚洲伊人久久综合中文成人网| 久久精品这里热有精品| 国内精品久久久久久久久电影网| 久久精品国产只有精品2020| 亚洲综合精品香蕉久久网| 久久久这里有精品中文字幕| 天天爽天天狠久久久综合麻豆| 色婷婷综合久久久中文字幕| 国产成人久久精品麻豆一区| 国产精品女同久久久久电影院 | 精品久久久久久久久午夜福利| 人妻丰满?V无码久久不卡| 94久久国产乱子伦精品免费| 久久精品国产亚洲AV麻豆网站 | 欧美精品乱码99久久蜜桃| 久久国产精品视频| 国产精品欧美亚洲韩国日本久久 | 日韩久久久久久中文人妻| 中文字幕热久久久久久久| 精品久久久一二三区| 久久精品国产色蜜蜜麻豆| 波多野结衣AV无码久久一区| 伊人久久大香线蕉av不卡| 伊人久久大香线焦AV综合影院| 久久久亚洲裙底偷窥综合|