![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串匹配算法
绿色草鞋
空杯心态,减法人生
展开
-
字符串匹配-“KMP”算法实现
// KMP算法主体逻辑。str是主串,pattern是模式串public static int kmp(String str, String pattern) { //预处理,生成next数组 int[] next = getNexts(pattern); int j = 0; //主循环,遍历主串字符 for (int i = 0; i < str.length(); i++) { while (j > 0 && s.原创 2021-11-23 14:45:00 · 109 阅读 · 0 评论 -
字符串匹配--“RK”算法实现
public static int rabinKarp(String str, String pattern){ //主串长度 int m = str.length(); //模式串的长度 int n = pattern.length(); //计算模式串的hash值 int patternCode = hash(pattern); //计算主串当中第一个和模式串等长的子串hash值 int strCode = hash(str.substr.原创 2021-11-22 14:00:00 · 107 阅读 · 0 评论 -
字符串匹配--“BM”算法实现
//在模式串中,查找index下标之前的字符是否和坏字符匹配private static int findCharacter(String pattern, char badCharacter, int index) { for(int i= index-1; i>=0; i--){ if(pattern.charAt(i) == badCharacter){ return i; } } //模式串不存在该字符,返回-.原创 2021-11-19 14:30:00 · 215 阅读 · 0 评论