string - 给定长度 L 找到仅由 as & bs >= L 组成的最短字符串,这样添加一些字符(a 或 b)不会产生新的回文

标签 string algorithm palindrome

给定长度 L 找到最短的字符串 >= L 仅由 as & bs 组成,这样添加一些字符(a 或 b)不会产生新的回文子串(在回文之前从未见过)

例如 L = 1 有字符串aabbaba,在它上面加上“a”得到aabbaa,只会产生之前在第一个和第二个字符位置出现的回文“a”和“aa”, 但例如字符串 aabab 不起作用,因为添加“b”或“a”将分别产生新的回文“bb”和“ababa”

我什至不确定 aabbaba 是 L = 1 的最优解。 关于快速解决这个问题的算法有什么想法吗?

最佳答案

到目前为止,这是我的结果:

  • L=1-7:“aabbaba”->“aabbabaa”(或镜像,确认您的结果)
  • L=8:“aaabbaba”->“aaabbabaa”(或镜像)
  • L=9:“aaaabbbaba”->“aaaabbbabaa”(或镜像)

所有进一步的 L 都可以通过在起始字符串前添加一个额外的 a 来解决。

关于string - 给定长度 L 找到仅由 as & bs >= L 组成的最短字符串,这样添加一些字符(a 或 b)不会产生新的回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877325/

相关文章:

vb.net - 在 VB.NET 中将字符串转换为二进制

java - 如何通过自定义方法从Java中的属性文件中获取值

android - 检查Android中字符串的长度

python-3.x - 在二进制矩阵中查找由所有 1 组成的 ‘+’ 的个数

algorithm - 带区间调度的回文划分

python - Python 3.0 中的 For 循环

java - 如何修复这个 lang.AssertionError?

algorithm - 最小乘积生成树与最小和生成树不同吗?

javascript - 如何从叶节点的一组路径片段构建树

php - 我不知道如何处理这个 PHP 代码