最长公共子序列(Sequence not SubString)
来源:互联网 发布:油性染料 淘宝 编辑:程序博客网 时间:2024/06/08 10:31
public class LCSDP { /* *BackGround:LCS *1、初始化 *2、a[i][j]由a[i-1][j-1]等3种情况 */ static int lcsDP(String a,String b){ if(a==null||a==""||b==null||b=="") return 0; int maxLen=a.length()>b.length()?a.length()+1:b.length()+1; int sto[][]=new int[maxLen][maxLen]; //DP int i=1; for(;i<=a.length();i++){ for(int j=1;j<=b.length();j++){ if(a.charAt(i-1)==b.charAt(j-1)) sto[i][j]=sto[i-1][j-1]+1; else{ //i,j,k,意思是第i,j,k轮 //若a[i-1]!=b[j-1],且c[k-1]!=b[j-1]=>c[k-1]由a[i-1]和b[j-2]得出, //即sto[i][j]=sto[i][j-1]+0; if(sto[i][j-1]>=sto[i-1][j]) sto[i][j]=sto[i][j-1]; else sto[i][j]=sto[i-1][j]; } } } return sto[a.length()][b.length()]; } public static void main(String[] args) { System.out.println(lcsDP("abcd", "bd")); }}
Result:2
0 0
- 最长公共子序列(Sequence not SubString)
- longest common sequence(最长公共子序列)
- LCS(Longest Common Sequence)最长公共子序列算法
- 最长公共子序列(Longest Common Sequence)
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列...
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- 最长公共子序列
- Android listView 每行多个Button 响应点击事件
- 我的Java之路二:早起的鸟儿有虫吃,早起的人儿。。。。。暂时起不来
- [kuangbin带你飞]专题一 简单搜索 H POJ3414
- 后台开发进阶学习
- [PAT] A1002
- 最长公共子序列(Sequence not SubString)
- Python的ORM框架Peewee使用入门(一)
- python的&众不同之处(3)
- 携程2017笔试题回忆录
- JavaScript设计模式——建造者模式
- [Dive into Python:第四章]:自省的威力
- Java常用类之Properties类
- LeetCode #56: Merge Intervals
- python 单例模式----装饰器实现