KMP的Java实现
来源:互联网 发布:网络摄像头id 编辑:程序博客网 时间:2024/05/20 08:27
package leetcode;public class Solution { public boolean isSubString(String origin, String subString) { int[] next = getNext(subString); for(int i = 0, j = 0; i < origin.length();) { if(origin.charAt(i) == subString.charAt(j)) { ++i; ++j; if(j == subString.length()) return true; } else { if(j == 0) { ++i; } else { j = next[j-1]; } } } return false; } public int[] getNext(String str) { int[] next = new int[str.length()]; next[0] = 0; int k = 0; for(int i = 1; i < str.length(); ++i) { while (k > 0 && str.charAt(i) != str.charAt(k)) k = next[k-1]; if(str.charAt(k) == str.charAt(i)) ++k; next[i] = k; } return next; } public static void main(String[] args) { Solution solution = new Solution(); String origin = "ababxbababcadfdsss"; String substring = "ababcad"; System.out.println(solution.isSubString(origin, substring)); }}
阅读全文
0 0
- KMP的Java实现
- java实现的KMP算法
- KMP算法的JAVA实现
- Kmp算法的java实现
- KMP算法的java实现
- KMP算法的java实现
- KMP算法的Java实现
- KMP算法的Java实现
- 对KMP的理解,以及kmp算法java版本实现
- KMP算法的实现(Java语言描述)
- java实现子字符串的KMP算法
- KMP算法的介绍及其Java实现
- Java KMP匹配算法的实现
- KMP算法的实现(Java语言描述)
- java实现kmp算法
- KMP算法java实现
- Java实现KMP算法
- KMP算法java实现
- JS继承(inheritance)的几种方式分析
- VC/VC++的学习之路二生成动态库和静态库
- struts2-----访问web元素的三种方式and 常用返回类型
- Spring常用注解介绍【经典总结】
- Python函数参数到底是按值还是按引用
- KMP的Java实现
- Java泛型的局限性
- 大神的博客
- Linux下简单的shell编程(1)
- rigibody over 翻译
- (hdu1787)GCD Again(欧拉函数)
- 转自:王垠 编程的智慧
- 在ROS中配置路由器的动态域名?
- 面向对象基础