hiho一下 第162周 回文字符串

来源:互联网 发布:单片机如何烧程序 编辑:程序博客网 时间:2024/06/03 18:27

题目1 : 回文字符串

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

给定一个字符串 S ,最少需要几次增删改操作可以把 S 变成一个回文字符串?

一次操作可以在任意位置插入一个字符,或者删除任意一个字符,或者把任意一个字符修改成任意其他字符。

输入

字符串 SS 的长度不超过100, 只包含'A'-'Z'。

输出

最少的修改次数。

样例输入
ABAD
样例输出
1
动态规划的题目
package hihocoder;import java.util.*;//https://hihocoder.com/problemset/problem/1323public class huiwnzifuchuan {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);String s=sc.nextLine();sc.close();int n=s.length();int dp[][]=new int[n][n];for (int i = n-1; i >= 0; i--)for (int j = i+1; j < n; j++)if (s.charAt(i) == s.charAt(j))dp[i][j] = dp[i+1][j-1];elsedp[i][j] = Math.min(Math.min(dp[i+1][j], dp[i][j-1]), dp[i+1][j-1])+1;System.out.println(dp[0][n-1]);}}