首页 > 其他 > 详细

最长公共子串

时间:2017-08-23 21:20:54      阅读:258      评论:0      收藏:0      [点我收藏+]
https://my.oschina.net/gaosheng/blog/308853

public static int LCS(char query[], char text[]) { int len_query = query.length; int len_text= text.length; //数组c记录匹配情况,模拟二维矩阵 int[] c = new int[len_text]; int len, i, j; len=0; for(i=0; i<len_query; i++) { //不反过来会把之前数组元素冲掉的,因为后面的元素需要根据前面的元素计算 for(j=len_text-1; j>=0; j--) { if(query[i] == text[j]) { if(i==0 || j==0) c[j]=1; else c[j]=c[j-1]+1; } else c[j] = 0; if(c[j] > len) len=c[j]; } System.out.println(Arrays.toString(c)); } return len; }

  

 

LCS(new char[]{‘a‘,‘b‘,‘c‘,‘d‘},new char[]{‘b‘,‘c‘,‘d‘});

[0, 0, 0]
[1, 0, 0]
[0, 2, 0]
[0, 0, 3]

 

最长公共子串

原文:http://www.cnblogs.com/joshsung/p/7420135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!