• <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   管理


            久久久久九国产精品| 久久SE精品一区二区| 久久久久一本毛久久久| 一本久道久久综合狠狠躁AV| 精品久久久中文字幕人妻| 99国产精品久久久久久久成人热| 久久精品国产精品亚洲人人| 精品久久久久久国产| 日本精品久久久久中文字幕8| 精品伊人久久大线蕉色首页| 日本精品久久久久中文字幕8| 国产成人精品综合久久久久 | 亚洲国产成人久久综合一 | 国产精品久久久久乳精品爆 | 丁香五月综合久久激情| 无码国内精品久久综合88| 亚洲精品国产成人99久久| 久久亚洲AV成人出白浆无码国产| 久久久久国色AV免费看图片| 国内精品伊人久久久久网站| 久久91精品久久91综合| 久久影院综合精品| 亚洲中文字幕无码久久2020| 思思久久好好热精品国产| 一97日本道伊人久久综合影院| 精品久久久久久无码中文字幕| 久久99国产精品一区二区| 久久精品国产久精国产思思| 久久久久亚洲AV无码永不| 浪潮AV色综合久久天堂| 久久久久久国产精品免费无码| 午夜不卡久久精品无码免费| 亚洲中文字幕无码久久综合网 | 国产成人无码精品久久久久免费 | 国产成人精品综合久久久| 国产激情久久久久影院老熟女免费| 精品综合久久久久久97超人 | 国产精品久久久久影视不卡| 久久91综合国产91久久精品| 99久久综合狠狠综合久久| 久久播电影网|