最近几天一直在牛客网上进行算法试题测试,在博客做下简单的记录。
侵权删
题目:构造回文
题目简介:
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?
输出需要删除的字符个数。
输入描述:
|
|
输出描述:
|
|
代码:
|
|
代码说明:
具体采用动态规则进行计算,原题目网中有大神进行了阐述,如下:
提到回文串,自然要利用回文串的特点,想到将源字符串逆转后,“回文串”(不一定连续)相当于顺序没变求原字符串和其反串的最大公共子序列(不是子串,因为可以不连续)的长度(使用动态规划很容易求得),然后用原字符串的长度减去这个最大公共子串的长度就得到了最小编辑长度。(侵权删)
动态规则还有很多类似的算法,需要再接再厉!进行深一层次的学习。