最长公共子字符串
来源:互联网 发布:犀牛mac破解版下载 编辑:程序博客网 时间:2024/05/21 21:33
最长公共子字符串
这是一个非常的经典的动态规划问题。
解题思路:
创建一个二维数组,dp[n][m],其中dp[i][j]表示取到s1[i]和s2[j]时的最大连续子串长度。如果s1[i]等于s2[j]时,dp[i][j]=dp[i-1][j-1]+1。
public class day43 { public static void main(String[] args) { String str1="abcdef"; String str2="cdab"; System.out.println(maxCommonLengthOfTwoStr(str1,str2)); } private static int maxCommonLengthOfTwoStr(String str1,String str2) { int str1_len=str1.length(); int str2_len=str2.length(); int maxCommonLen=0; int[][] dp=new int[str1_len][str2_len]; for(int i=0;i<str1_len;i++) { for(int j=0;j<str2_len;j++) { if(str1.charAt(i)==str2.charAt(j)) { if(i>0&&j>0) { dp[i][j]=dp[i-1][j-1]+1; }else{ dp[i][j]=1; } } if(maxCommonLen<dp[i][j]) { maxCommonLen=dp[i][j]; } } } return maxCommonLen; }}
阅读全文
0 0
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 最长公共子字符串
- 11077 最长公共子字符串
- 最长公共子字符串问题
- 寻找最长公共子字符串
- 最长公共子串,字符串
- 最长公共子字序列和最长公共子字符串
- 最长公共子序列以及最长公共子字符串
- 两字符串求最长公共子字符串
- 使用PM2将Node.js的集群变得更加容易
- servlet-mapping与filter-mapping 的处理顺序
- poj-1011-Sticks-(dfs+剪枝)
- mysql 两表联合查询数据多了很慢
- 常用的正则表达式(一)
- 最长公共子字符串
- Kotlin学习中
- 1004:Let the Balloon Rise
- Huffman编码压缩和解压文档,C++实现
- hibernate(三)
- scanf(“%c”)等问题,清空输入输出缓存
- JavaScript的选项卡操作
- Java技能清单
- Android音频系统