java----构造回文字符串java(动态规划)【手写演算残图】
2017-03-26 21:40
302 查看
问题描述
草稿解决过程
(字丑别喷)
代码实现
import java.util.Scanner; /** * Created by Admin on 2017/3/26. */ public class test02 { public static int HuiWenNum(String str){ String rev=new StringBuffer(str).reverse().toString(); int len=str.length(); int[][] S=new int[len+1][len+1]; for (int i=0;i<len+1;i++) S[i][0]=S[0][i]=0; for(int i=1;i<len+1;i++) for(int j=1;j<len+1;j++){ if(str.charAt(i-1)==rev.charAt(j-1)) S[i][j]=S[i-1][j-1]+1; //与反字符串比较,有一个相同字符的记1次,并且和上对角的累计在一起 else if(S[i][j-1]>S[i-1][j]) S[i][j]=S[i][j-1]; //与反字符串比较有不同字符时,该坐标左边与上面比较取较大值 else S[i][j]=S[i-1][j]; } return len-S[len][len]; //上面的运算把累计的最大次数推到了最右下格 } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); while(scanner.hasNext()){ String str=scanner.nextLine(); System.out.println(HuiWenNum(str)); } } }
相关文章推荐
- 从struts2回到struts的学习--DynaActionForm(不用手写actionForm.java)
- 动态规划解决矩阵链乘问题的java编码实现
- 动态规划-最长公共子串问题-java版
- 吃土豆_nyoj_234(动态规划).java
- 矩阵连乘的JAVA实现(动态规划,递归)
- nyoj 236心急的C小加 动态规划( java)
- HDU-1698(线段树_区间更新_java手写)
- java线程面试手写题
- Java 动态规划求解0-1背包问题
- 矩阵连乘的JAVA实现(动态规划)
- Java动态规划求解最长公共子串问题
- java笔记:本身下手写javaEE框架(八)--为jqgrid换换皮肤然后加到我的框架里
- javaWeb之手写Servlet
- java版 动态规划求最长公共子序列
- java:手写二叉树BinaryTree添加和查询方法
- java:手写MyLinkedList所有方法,增删改查
- 题目1209:最小邮票数 动态规划 java实现
- Java开发调用PageOffice提供的Word手写批注接口
- 导弹防御问题 动态规划 java
- Henry捡钱 Java 动态规划