动态规划-最长公共子序列
来源:互联网 发布:涡扇15发动机 知乎 编辑:程序博客网 时间:2024/06/07 00:06
关于最长公共子序列问题的分析,这篇博客讲的比较好
http://blog.csdn.net/yysdsyl/article/details/4226630
下面给出我写的java代码:
import java.util.Arrays;import java.util.Scanner;public class LCS {static StringBuffer str=new StringBuffer();static void ff(char []a,char []b){int [][]c=new int[a.length+1][b.length+1];int [][]k=new int[a.length][b.length];for(int i=1;i<=a.length;i++){for(int j=1;j<=b.length;j++){if(a[i-1]==b[j-1]){c[i][j]=c[i-1][j-1]+1;k[i-1][j-1]=0; }else{if(c[i-1][j]>=c[i][j-1]){c[i][j]=c[i-1][j];k[i-1][j-1]=1;}else{c[i][j]=c[i][j-1];k[i-1][j-1]=-1;}}}}System.out.println("最长公共长度:"+c[a.length][b.length]);lsc(k,a,b);str.reverse();System.out.println("最长公共子序列:"+str);}static void lsc(int [][]k,char []a,char []b){int num1=a.length;int num2=b.length;if(num1>=1&&num2>=1){if(k[num1-1][num2-1]==0){str.append(a[num1-1]);a=Arrays.copyOf(a, a.length-1);b=Arrays.copyOf(b, b.length-1);lsc(k,a,b);}else if(k[num1-1][num2-1]==1){a=Arrays.copyOf(a, a.length-1);lsc(k,a,b);}else if(k[num1-1][num2-1]==-1){b=Arrays.copyOf(b, b.length-1);lsc(k,a,b);}}else{return ;}}public static void main(String[] args) {Scanner input=new Scanner(System.in);System.out.print("请输入字符串a:");String str1=input.nextLine();System.out.print("请输入字符串b:");String str2=input.nextLine();char []ch1=str1.toCharArray();char []ch2=str2.toCharArray();ff(ch1,ch2);}}
0 0
- 最长公共子序列&&最长公共子串---[动态规划]
- 动态规划-最长公共子序列、最长公共子串
- 动态规划之最长公共子序列
- 动态规划 ------- 最长公共子序列
- 动态规划实现最长公共子序列
- 【动态规划】最长公共子序列LCS
- 动态规划--最长公共子序列
- 动态规划:最长公共子序列
- 动态规划解决最长公共子序列
- 最长公共子序列-动态规划DP
- 动态规划--最长公共子序列
- 最长公共子序列(动态规划)
- 动态规划解决最长公共子序列
- 最长公共子序列(动态规划)
- 动态规划 最长公共子序列
- 动态规划 - 最长公共子序列
- 动态规划之最长公共子序列
- 最长公共子序列 [动态规划]
- Meeting Room Arrangement
- 物联网时代哪三种职业最吃香?--转自美国科技博客TechCrunch撰稿人扎克·苏帕拉(Zach Supalla)
- [动态规划] 洛谷P1063 能量项链 (石子合并)
- 嵌入式开发者技能大全
- HTML5开发者心声:浏览器兼容性成最大问题
- 动态规划-最长公共子序列
- Notes on tensorflow(八)read tfrecords with slim
- 【杂谈】解决Windows系统下上传速度慢的一个小技巧
- html中的相对定位 和 绝对定位
- centos7安装python机器学习相关环境numpy,scipy,sklearn,lda
- Logistics回归
- echoServer-IO复用实现
- linux小项目模拟实现ls-l用stat
- L1-018 大笨钟