<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    青菜貓(孫宇博客),青菜貓(孫宇博客),青菜貓(孫宇博客)http://www.javasdc.cn/
    posts - 29,  comments - 63,  trackbacks - 0


         BF(Brute Force)算法核心思想是:首先S[1]和T[1]比較,若相等,則再比較S[2]和T[2],一直到T[M]為止;若S[1]和T[1]不等,則T向 右移動一個字符的位置,再依次進(jìn)行比較。如果存在k,1≤k≤N,且S[k+1…k+M]=T[1…M],則匹配成功;否則失敗。該算法最壞情況下要進(jìn)行 M*(N-M+1)次比較,時間復(fù)雜度為O(M*N)
         比如: String a ="123456789" String b= "23"
       其實就是循環(huán) a一個一個字符匹配,開始a[0]和b[0]匹配,沒有找到,直接不用找b[1],直接用a[1]和b[0]匹配發(fā)現(xiàn)已經(jīng) 找到,然后繼續(xù)用
    a[2]和b[1]匹配發(fā)現(xiàn)已經(jīng) 找到。前且是b字符串末尾。說明已經(jīng)完全找到。返回結(jié)果
      JAVA代碼實現(xiàn)
    /**
         * 匹配字符串,判斷 b字符串在a出現(xiàn)的起始位置,沒有找到返回(-1)
         * @param a
         * @param b
         * @return
         */
        public static int indexOf(String a,String b){
            char[] as = a.toCharArray();
            char[] bs = b.toCharArray();
            int begin = 0;
            for(int i = 0 ; i <as.length; i++){
                int k = nextStr(as[i], bs,begin);
                //說明已經(jīng)找到
                if( k == begin ){
                    return i-begin;
                }
                //說明找到一個字符,需要繼續(xù)找
                else if( k >= 0 ){
                    begin = k;
                }else{
                //沒有找到繼續(xù)找    
                begin = 0;
                }
            }
            return -1;
        }
        
        
        /**
         * 匹配字符串,找到字符串位置
         * @param c
         * @param cs
         * @param begin
         * @return
         */
        public static int nextStr(char c,char[] cs,int begin){
            //如果字符匹配和已經(jīng)到了字符尾部青示已經(jīng)全部匹配
            if(cs[begin] == c && begin == (cs.length-1) ){
                return begin;
            //如果字符匹配但沒有到尾部需要繼續(xù)下移
            }else if(cs[begin] == c){
                return begin+1;
            }
            //完全沒有匹配
            else{
                return -1;
            }
        }

     然后在main里面調(diào)用indexOf方法看到結(jié)果
    posted on 2013-05-21 16:11 青菜貓(孫宇) 閱讀(1014) 評論(0)  編輯  收藏 所屬分類: 其它
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    青菜貓(孫宇)結(jié)交天下朋友,在網(wǎng)上吸取知識..

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    青菜貓(孫宇博客),青菜貓(孫宇博客),青菜貓(孫宇博客)http://www.javasdc.cn/
    主站蜘蛛池模板: 亚洲AV成人无码久久精品老人| 亚洲国产AV无码一区二区三区| 无码区日韩特区永久免费系列| 亚洲中文精品久久久久久不卡| 亚洲精品无码激情AV| 99久久综合精品免费| 日本亚洲欧美色视频在线播放| 国产亚洲A∨片在线观看| 久久久久久国产a免费观看黄色大片 | 亚洲乱码av中文一区二区| 国产亚洲精久久久久久无码AV| 2022久久国产精品免费热麻豆| 国产成人人综合亚洲欧美丁香花| 国产亚洲人成无码网在线观看| 处破痛哭A√18成年片免费| eeuss免费天堂影院| 国产成人亚洲综合网站不卡| 亚洲日韩av无码| 国产美女被遭强高潮免费网站| 一级毛片在线免费观看| 免费一级毛suv好看的国产网站 | 亚洲欧美日韩中文高清www777| 亚洲色无码一区二区三区| 性色av免费观看| 日韩免费无码视频一区二区三区| 黄色一级毛片免费看| 亚洲人成免费电影| 国产∨亚洲V天堂无码久久久| 四虎影视免费永久在线观看| 国产精品久久永久免费| 久久最新免费视频| 黄网站色视频免费观看45分钟| 亚洲国色天香视频| 亚洲AV综合色区无码一区爱AV| 亚洲Av无码乱码在线znlu| 成人无码区免费A片视频WWW| 最近中文字幕电影大全免费版| 毛片在线播放免费观看| av电影在线免费看| 美女免费视频一区二区| 亚洲女子高潮不断爆白浆|