最长回文子串「变题」

5. 最长回文子串

 

开头先来一个小插曲,关于「回文」两种方法的总结可见 回文子串的两种方法:「中心扩展」&「动态规划」

变题一:回文子串

题目详情可见 回文子串

变题二:最长回文子序列

题目详情可见 最长回文子序列

关于本题详细总结可见 动态规划之最长回文子序列

变题三:让字符串成为回文串的最少插入次数

题目详情可见 让字符串成为回文串的最少插入次数

关于本题详细总结可见 动态规划之最长回文子序列

变题四:变成回文数的最小代价

题目详情可见 编程题【2021】360编程题回文数变换

所谓回文数就是一个数字,从左边读和从右边读的结果都是一样的,例如12321

现在有一个只包含1、2、3、4的数字,你可以通过在任意位置增加一位数字或者删除一位数字来将其变换成一个回文数。但是增加或删除不同数字所需要的代价是不一样的

已知增加和删除每个数字的代价如下:

请问如何通过最少的代价将一个数字变换为一个回文数。当然,如果一个数字本身已经是一个回文数 (包括一位数,例如:2),那么变换的代价为0

输入:12322

输出:300

解释:变成 1223221 或者 2123212