lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。

  public static int bf(String strA, String strB) {
    int aLength = strA.length();
    int bLength = strB.length();

    int i = 0, j = 0;

    while (i < aLength && j < bLength) {
      if (strA.charAt(i) == strB.charAt(j)) {
        i++;
        j++;
      } else {
        i = i - j + 1; // k
        j = 0;
      }
    }
    if (j == bLength) {
      return i - j;
    } else {
      return -1;
    }
  }

 

posted on 2022-12-26 23:30  白露~  阅读(151)  评论(0编辑  收藏  举报