回文字符,最小删除问题
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
动态规划相关文章推荐
- 动态规划算法实现部分——求公共最长子序列以及构造回文需要删除的最小字符个数
- 动态规划问题--最长公共子序列(LCS)问题--删除一些字符使得剩下的是一个回文子串
- 去连续字符类似删除回文子串问题
- 最长匹配子序列 和 删除次数最小形成回文
- 【DP生成回文字符串的最小插入字符数】POJ 1159
- 删除字符串最后一个字符问题
- 字符串删除字符的回文字符串
- 删除字符串最后一个字符问题
- JAVA动态规划(三)--最长回文字符串(可删除中间字符)【腾讯2016实习生笔试题】
- 关于删除字符串中重复字符问题?解析
- DP28 求能变成回文的最小插入字符个数 Minimum insertions to form a palindrome @geeksforgeeks
- 解决ubuntu下vi上下左右方向键出现字母backspace键不能删除字符 问题
- 解决Vim/Gvim插入模式下backspace按键无法删除字符的问题
- 解决Vim插入模式下backspace按键无法删除字符的问题【转】
- 字符串处理的两个问题:删除指定字符,删除相邻相同的字符
- seureCRT 快捷键、常用技巧以及 解决不能删除字符问题
- Backspace不能删除字符而只是显示^H问题
- 数据结构(C#)--二叉查找树的先序,中序,后序的遍历问题以及最大值,最小值,插入,删除
- DP问题---添加字符把字符串变为回文字符串
- 滑动窗口 最长不重复子串问题,set保存滑动窗口,set保存子串和查重,l指向子串左端,r指向要添加的字符,如果重,一直删除到字符的后一位