最长公共子串
来源:互联网 发布:c语言写的游戏 编辑:程序博客网 时间:2024/06/05 08:16
最长公共子串问题的基本表述为:
给定两个字符串,求出它们之间最长的相同子字符串的长度。
/** * 最长公共子串(连续) * @author 过路的守望 * */public class LongIncrementSub { public static void main(String[] args) { System.out.println(getLongestCommonSub("advdfdfdf", "dvdfd")); } public static String getLongestCommonSub(String A,String B){ int a_len = A.length(); int b_len = B.length(); int[][] dp = new int[a_len][b_len]; /* * 记录长度 */ int size = 0; /* * 记录结束索引 */ int endindex = 0; for(int i = 0;i<a_len;i++){ char a = A.charAt(i); for(int j =0;j<b_len;j++){ char b =B.charAt(j); if(a == b){ /** * 若有一方起点为0,则公共长度为1。 */ if(i==0||j==0){ dp[i][j] = 1; } else { dp[i][j] = dp[i-1][j-1]+1; } if(dp[i][j]>size){ size = dp[i][j]; endindex = i; } } } } return A.substring(endindex-size+1,endindex+1); }}
0 0
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- 最长公共子串
- leetcode: Power of Three
- 多线程通信
- 软件测试--相关概念
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 树莓派:3. 树莓派采集温度-使用AD7416
- 最长公共子串
- Ubuntu 11.04 安装后要做的20件事情 -----------转载
- Android客户端实现注册/登录详解(二)
- 百度定位实现操作
- 记关于工程估量的一些认识
- Android加载大图避免OOM
- 数据库常用sql语句
- Mesos 维护原语 (Maintenance Primitives)
- 设计模式-单例模式(饿汉式,懒汉式)