给你一个字符串 s 和一个整数 k

在一次操作中,你可以将任意位置的字符替换为字母表中相邻的字符(字母表是循环的,因此 'z' 的下一个字母是 'a')。例如,将 'a' 替换为下一个字母结果是 'b',将 'a' 替换为上一个字母结果是 'z';同样,将 'z' 替换为下一个字母结果是 'a',替换为上一个字母结果是 'y'

返回在进行 最多 k 次操作后,s 的 最长回文子序列 的长度。

子序列 是一个 非空 字符串,可以通过删除原字符串中的某些字符(或不删除任何字符)并保持剩余字符的相对顺序得到。

回文 是正着读和反着读都相同的字符串。

 

示例 1:

输入: s = "abced", k = 2

输出: 3

解释:

子序列 "ccc" 形成一个长度为 3 的回文,这是最长的回文子序列。

示例 2:

输入: s = "aaazzz", k = 4

输出: 6

解释:

整个字符串形成一个长度为 6 的回文。

 

提示: