NYOJ 37 动态规划 回文字符串
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
/*
状态: cost[i][j] 表示要将 str 从第j个字符开始,
长度为i的子串变为回文串需要添加的字符个数.这样
转移方程为:
cost[0][i] = cost[1][i] = 0; (长度为0和长度为1的串)
当s[j] == s[i+j-1]时 ,字符串长度加2, 增加数量不变
cost[i][j] = cost[i-2][j+1];
否则
cost[i][j] = min{ cost[i-1][j], cost[i-1][j+1]}+1;
*/
int dp[1010][1010];
char str[1010];
int main()
{
int N;
scanf("%d%*c", &N);
while (N--)
{
gets(str);
int len = strlen(str);
for (int i = 0; i < len; i++)//
dp[1][i] = dp[0][i] = 0;
for (int i = 2; i <= len; i++)
for (int j = 0; j <= len-i; j++)
{
if (str[j] == str[j+i-1])
dp[i][j] = dp[i-2][j+1];
else
dp[i][j] = min(dp[i-1][j], dp[i-1][j+1]) + 1;
}
printf("%d\n", dp[len][0]);
}
return 0;
}
NYOJ 37 动态规划 回文字符串相关推荐
- LeetCode:动态规划-回文字符串
一.回文子串个数 647:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目. dp[i][j]:s的区间[i,j]是否为回文串 class Solution {public int ...
- nyist oj 37 回文字符串 (动态规划经典)
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描写叙述 所谓回文字符串,就是一个字符串.从左到右读和从右到左读是全然一样的.比方"aba".当 ...
- NYOJ 37 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...
- 回文字符串与动态规划
LeetCode2472. 不重叠回文子字符串的最大数目 题目描述 给你一个字符串 s s s 和一个正整数 k k k . 从字符串 s s s 中选出一组满足下述条件且不重叠的子字符串: 每个子字 ...
- 动态规划-最大回文字符串
题目:给你一个字符串 s,找到 s 中最长的回文子串. 示例 1:输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符 ...
- NYOJ 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...
- leetcode_最长回文字符串
题目:Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...
- leetCode第五题-求字符串最长回文字符串
原题链接: 最长回文字符串 给你一个字符串 s,找到 s 中最长的回文子串. 示例 1: 输入:s = "babad" 输出:"bab" 解释:"ab ...
- 回文字符串(Palindromic_String)
一.基本概念 回文字符串:是一个正读和反读都一样的字符串. 二.问题与算法 (1)判断 思想: 1.初始化标志flag=true: 2.输入字符串str,并获取其长度len: 3.定义并初始化游标i= ...
- jsp判断字符串相等_最长回文字符串三种解法
先解释一下什么是回文字符串,比如说字符串"aba",无论是从先往后读取还是从后往前读取,结果都是一样的.当给定很长的字符串时,如何快速获取到最长的回文字符串,这也是大厂比较常见的算 ...
最新文章
- 1、计算机系统硬件(面试小知识)
- boost::replace相关的测试程序
- 【Linux】一步一步学Linux——history命令(213)
- 3_6 CommandMode 命令模式
- sdh管理单元指针_SDH设备上STM-1接口是啥玩意
- linux源码scripts目录是什么,linux-kernel – linux / scripts / recordmcount:没有这样的文件或目录...
- oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码
- python读取ini文件
- Markdown标题、行首缩进、换行。csdn(1)
- 使用shell写简单的计算机
- shell中的特殊符号
- 【实验技术笔记】细胞表型检测之细胞增殖(CCK-8法 + BrdU掺入法 + 平板克隆)
- 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
- 工作缺点和不足及措施_【工作中存在的问题和不足及改进措施】_工作中的不足与改进_工作中不足及改进措施...
- python爬虫的知识
- linux嵌入式reboot不生效,Embeded linux之reboot
- 利用IPv6的地址特性写一个攻击甩锅程序
- 关于-32768的补码!
- 【源码】二维平面应力问题中的弹性材料模型仿真
- MATLAB中强行终止执行程序的4种方法
热门文章
- 码农们:完美主义也是一种错
- sublime补齐标签的用法
- 寻找指定型别的父控件
- Xslt中的Xsl:copy与Xsl:copy-of的区别
- php 不通过表单post,php – 简单表单不通过_POST发送数据
- mysql悲观锁和乐观使用实例_MySQL 悲观锁和乐观锁
- Annotation-specified bean name ‘mapper‘ for bean class [com.thoughtworks.xstream.mapper.Mapper] conf
- 什么是JDBC,JDBC的主要功能是什么?
- mysql中整理设置__MySQL的常用操作命令整理
- java块语句_Java™ 教程(表达式、语句和块)