kmp算法 java实现
来源:互联网 发布:移动4g卡首选网络类型 编辑:程序博客网 时间:2024/06/09 19:15
在这就不介绍什么是kmp算法还有kmp算法的解决思路啦,具体算法概念跟解决思路请看此博客http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 里面详细介绍了如何计算next数组,匹配的时候需要移动位数等规则。
在此只贴一下kmp算法的java实现:
public class kmp {//获取next数组public int[] getNextArray(String str){char[] c = str.toCharArray();int[] next = new int[c.length];next[0] = 0 ;int j = 1 ; //后序指针int i = 0 ; //前序指针while(j==0||j<c.length){if(c[j]==c[i]){next[j] = ++i; j++;}else{if(i==0){j++;}else{i=0;}}}return next;}//匹配判断 public boolean containt(String str,String checkStr){char[] arrays = str.toCharArray();char[] c = checkStr.toCharArray();int[] next = getNextArray(checkStr);int i = 0 ; int j = 0 ;while(i<arrays.length){if(arrays[i]==c[j]){if(j==c.length-1){return true;}i++;j++;}else{if(j!=0){j = next[j-1]; }else{i++;}}}return false ;}public static void main(String[] args) {System.out.println(new kmp().containt("anansjjsajk","nans"));}}
时间复杂度O=m+n
阅读全文
0 0
- java实现kmp算法
- KMP算法java实现
- Java实现KMP算法
- KMP算法java实现
- KMP算法----java实现
- KMP算法java实现
- KMP算法Java实现
- KMP 算法 java实现
- Java实现KMP算法
- KMP算法Java实现
- KMP算法java实现
- KMP算法-Java实现
- KMP算法java实现
- KMP算法JAVA实现
- Java实现KMP算法
- KMP算法 Java实现
- KMP算法java实现
- KMP算法java实现
- PHP 实现商品的无限规格实现思路
- 杂记——搜索按钮的小效果
- 安装CDH组件的时候会多产生一个分组的原因
- lintcode刷题——丢失的第一个正整数
- Java 中正确使用 hashCode 和 equals 方法
- kmp算法 java实现
- The Geometry has no Z values 解决办法
- 文章标题
- springAop 运用之权限验证
- java发送邮件(javaMail通过SMTP发送邮件)
- javascript内置对象常用属性和方法(笔记一)
- 【终极面试】线程向
- 部分库函数源码
- linq去重