博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划 - 腾讯2016实习生笔试
阅读量:6675 次
发布时间:2019-06-25

本文共 581 字,大约阅读时间需要 1 分钟。

mean

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。

analyse

对于这题来说,插入字符和删除字符使其成为回文串,答案是一样的.

首先求s的反串rs,然后对s和rs求最长公共子序列,要删除的字符个数就是LCS.

time complexity

O(N^2)

 code

#include 
using namespace std;const int MAXN=1010;int dp[MAXN][MAXN];class Solution{public: int solve(string &s) { return s.length()-getLCS(s); } int getLCS(string &s1) { string s2(s1); reverse(s2.begin(),s2.end()); int len=s1.length(); memset(dp,0,sizeof dp); for(int i=0;i
>s) { Solution solution; cout<
<

转载地址:http://pcwao.baihongyu.com/

你可能感兴趣的文章
“亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 G Prime [ 容斥原理 + 数论 + 求约数 + 素数筛 ]...
查看>>
【转载】cocos2d-x-3.0beta on android 打包错误问题
查看>>
JVM体系结构与工作方式
查看>>
如果编程语言是女人
查看>>
DensePose: Dense Human Pose Estimation In The Wild(理解)
查看>>
数据结构实验十——对称矩阵
查看>>
vs2010 快捷键大全
查看>>
清除缓存
查看>>
日历插件原理
查看>>
ASP.NET常见问题
查看>>
$watch
查看>>
管理信息系统的开发与管理
查看>>
Example016实现下拉框
查看>>
[HDU]2092整数解
查看>>
SQL Server 附加数据库提示5120错误
查看>>
SPOJ 10570 LONGCS - Longest Common Substring
查看>>
Blog样式
查看>>
CF1062F Upgrading Cities
查看>>
SpringBoot(1.5.6.RELEASE)源码解析(二)
查看>>
POJ 1052 MPI Maelstrom
查看>>