青菜貓(孫宇博客),青菜貓(孫宇博客),青菜貓(孫宇博客)http://www.javasdc.cn/
          posts - 29,  comments - 63,  trackbacks - 0
               摘要: java反射 修改靜態方法的值 setAccessible太無節操了  閱讀全文
          posted @ 2013-06-08 11:56 青菜貓(孫宇) 閱讀(20459) | 評論 (6)編輯 收藏


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

           然后在main里面調用indexOf方法看到結果
          posted @ 2013-05-21 16:11 青菜貓(孫宇) 閱讀(1014) | 評論 (0)編輯 收藏
               摘要: java Jnotify實時的監控制定文件夾內文件的變動信息  閱讀全文
          posted @ 2011-06-24 17:29 青菜貓(孫宇) 閱讀(2165) | 評論 (1)編輯 收藏
               摘要: 網頁seo優化,搜索引擎優化  閱讀全文
          posted @ 2010-11-11 11:56 青菜貓(孫宇) 閱讀(1192) | 評論 (1)編輯 收藏
               摘要: java中判斷是否是合法圖片  閱讀全文
          posted @ 2010-09-26 10:41 青菜貓(孫宇) 閱讀(2967) | 評論 (2)編輯 收藏
               摘要: oracle數據庫換系統后恢復以前oracle數據操作方法  閱讀全文
          posted @ 2010-09-14 16:13 青菜貓(孫宇) 閱讀(2308) | 評論 (0)編輯 收藏
               摘要: HashMap源碼解析,存儲實現  閱讀全文
          posted @ 2010-09-01 11:39 青菜貓(孫宇) 閱讀(2220) | 評論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2010-08-24 10:57 青菜貓(孫宇) 閱讀(291) | 評論 (0)編輯 收藏
               摘要: 關于網頁打開新窗口的解決方案,拒絕屏蔽  閱讀全文
          posted @ 2010-07-05 16:09 青菜貓(孫宇) 閱讀(3288) | 評論 (10)編輯 收藏
               摘要: Velocity一些使用心得,常用的一些方法  閱讀全文
          posted @ 2010-05-28 17:08 青菜貓(孫宇) 閱讀(461) | 評論 (0)編輯 收藏
               摘要: 淘寶SNS社區招聘,職位名稱:系統架構師,職位名稱:資深Java工程師,職業發展方向.如技術、業務能力卓越,顯示出過人才能,可專注于技術方向,提升為系統架構師,如輔導、管理能力出色,可提升為TechLeader。  閱讀全文
          posted @ 2010-05-27 10:51 青菜貓(孫宇) 閱讀(1149) | 評論 (4)編輯 收藏
          <2010年5月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

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

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          青菜貓(孫宇博客),青菜貓(孫宇博客),青菜貓(孫宇博客)http://www.javasdc.cn/
          主站蜘蛛池模板: 吴旗县| 鄂州市| 礼泉县| 扶风县| 耒阳市| 山阳县| 彭水| 威信县| 乌什县| 象州县| 郯城县| 宿迁市| 马公市| 县级市| 桃源县| 延寿县| 波密县| 海门市| 伊宁县| 临沭县| 康马县| 蚌埠市| 蓬溪县| 新乐市| 利川市| 中宁县| 嘉兴市| 鱼台县| 凤翔县| 古浪县| 崇信县| 时尚| 新和县| 离岛区| 江孜县| 瑞丽市| 屏山县| 铜山县| 平遥县| 弥渡县| 全州县|