LCS最长公共子序列的另一种解决方法
2017-03-30 17:32
323 查看
算法描述:将字符串中的字符转化为数组下标,先将一个字符串作为下标存入数组,下标对应位置初始化为字符 ‘1’。然后将另一个字符串扫描一遍,把它每个字符也作为数组下标,下标位置内容加一,变为字符‘2’然后统计数组中大于‘1’的个数就是最大子串长度。
public class LCS{ public static void main(String[] args) { // TODO Auto-generated method stub String str1 = "ABCBDAB"; String str2 = "BDCABA"; char[] chars= new char[122]; for (int i = 0; i < str1.length(); i++) { chars[(int)str1.charAt(i)] = '1'; } for (int i = 0; i < str2.length(); i++) { if (chars[(int)str1.charAt(i)] != ' ') { chars[(int)str1.charAt(i)] = (char) (chars[(int)str1.charAt(i)] +1); } } int count=0; for (int i = 0; i < chars.length; i++) { if (chars[i]>='2') { count++; System.out.print((char)(i)); } } System.out.println(); System.out.println(count); } }
相关文章推荐
- 《github一天一道算法题》:动态规划法解决最长公共子序列(LCS)问题的最简单方法
- 用动态规划的方法解决LCS(最长公共子序列)的问题
- 自顶向下动态规划解决最长公共子序列(LCS)问题
- 用另一种方法解决Address already in use: JVM_Bind:8080
- 解决imagettftext()因为–enable-gd-jis-conv导致乱码的另一种方法
- VS2003无法启动调试的另一种解决方法
- Android开发:“R cannot be resolved to a variable”的另一种解决方法
- 忘记的sql server 2005密码的另一种解决方法
- 通过jdbc连接mysql报ClassNotFoundException另一种解决方法
- mysql 子查询 将最外表带入子查询内2层 的另一种解决方法
- 关于.net 未能加载文件或程序集 的另一种解决方法 错误信息:genasm.exe(1) : error There was an error initializing
- 递归解决最长公共子序列问题(LCS)
- 无法在web服务器上启动项目另一种解决方法
- 动态规划解决最长公共子序列LCS问题
- 异步 HttpContext.Current 为空null 另一种解决方法
- SpriteKit游戏开发 Challenge 2: An invincible zombie 问题的另一种解决方法
- 解决Jasperreport的web打印另一种方法
- xcode 6 exporting ipa 提示 Your account already has a valid iOS distribution certificate 的另一种解决方法
- Antenna 打包 j2me 生成 JAD和MANIFEST.MF中文乱码的另一种解决方法
- JBPM4.4GPD设计器中文乱码问题的另一种解决方法