动态规划 最长公共子串问题 记录一下
2017-08-27 21:28
190 查看
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?
输出需要删除的字符个数。
http://blog.csdn.net/stand1210/article/details/52497934
输出需要删除的字符个数。
http://blog.csdn.net/stand1210/article/details/52497934
import java.util.*; /** * Created by dd on 2016/8/22. */ public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); while (scan.hasNext()) { String str = scan.next(); show(str); } } public static void show(String str) { char[] c1 = str.toCharArray(); StringBuffer sb = new StringBuffer(str); String newStr = sb.reverse().toString(); char[] c2 = newStr.toCharArray(); int n = str.length(); int[][] dp = new int[n+1][n+1]; for(int i=1;i<n+1;i++){ for(int j=1;j<n+1;j++){ if(c1[i-1]==c2[j-1]){ dp[i][j]=dp[i-1][j-1]+1; }else{ dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1]); } } } System.out.println(str.length()-dp ); } }
相关文章推荐
- 0012算法笔记——【动态规划】最长公共子串问题
- Java动态规划求解最长公共子串问题
- 动态规划之最长公共子串问题
- 0012算法笔记——【动态规划】最长公共子串问题
- 算法回顾 - 动态规划 之 最长公共子串问题
- 动态规划求解最长公共子串的问题
- 最长公共子串问题 动态规划
- 动态规划之最长公共子序列、最长公共子串和背包问题
- 动态规划套路在最长公共子串、最长公共子序列和01背包问题中的应用
- 0012算法笔记——【动态规划】最长公共子串问题
- 递归与动态规划---最长公共子串问题
- 【动态规划】最长公共子串问题
- [动态规划]最长公共子串长度问题
- 算法作业6 动态规划 - 最长公共子串问题
- 0012算法笔记——【动态规划】最长公共子串问题
- 0012算法笔记——【动态规划】最长公共子串问题
- 动态规划-最长公共子串问题-java版
- 动态规划求解最长公共子串问题
- java 动态规划求解最长公共子序列&最长公共子串问题
- VB6求两个字符串最长公共子串的问题