您的位置:首页 > 其它

回文字符,最小删除问题

2017-10-18 21:18 204 查看

题目描述

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

输出需要删除的字符个数。

示例1

输入

abcda
google


输出

2
2


牛客网:

https://www.nowcoder.com/questionTerminal/28c1dc06bc9b4afd957b01acdf046e69

思路1

删除某些字符后,字符串变成回文。

回文:正序,倒序 是一致的

那么把源字符串(s)逆序(r_s),判断 s与 r_s的最长公共子串,这个子串应该就是删除后的回文串了,而且确定是最小的

所以

最小删除个数 = s总长度  -  (s与 r\_s的最长公共子串)


最长公共子序列问题参考:

http://blog.csdn.net/qq_26437925/article/details/52679690

思路2

动态规划
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐