![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常用算法
文章平均质量分 53
zs709379096
这个作者很懒,什么都没留下…
展开
-
Manacher 算法
o(n)时间复杂度求最长回文子串的manacher算法: public class Solution { public String longestPalindrome(String s) { if(s.length()==0) return ""; StringBuffer sb=new StringBuffer(); for(int i=0;i<s.le原创 2017-07-11 19:50:25 · 161 阅读 · 0 评论 -
求排列组合的小技巧
求解排列数方法: public class Combination { public List> combination(int[] a,int m){ dfs(-1,0,m,a); return re; } List> re=new ArrayList>(); List trace=new ArrayList(); public void dfs(int k,int l原创 2017-07-09 01:51:26 · 277 阅读 · 0 评论 -
扩展KMP 算法
扩展KMP算法描述: 给出模板串S和串T,长度分别为Slen和Tlen,要求在线性时间内,对于每个S[i](0 最长公共前缀长度,记为extend[i] 代码: import java.util.Scanner; public class Main { public int[] getNext(String s){ int[] next=new in原创 2017-07-19 15:38:27 · 195 阅读 · 0 评论 -
KMP 算法
KMP 算法: public class Solution { public int strStr(String haystack, String needle) { if(needle.length()==0) return 0; int[] next=getNext(needle.toCharArray()); int j=0;int i=0; while(i<hays原创 2017-07-13 19:49:06 · 160 阅读 · 0 评论