gpt4 book ai didi

c++ - 最大相等字符串子数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:42 24 4
gpt4 key购买 nike

假设我有两个字符串:

"hello"
"love"

字符串中最大子数组的大小为2:“lo”。

这是另一个例子:

"ABBABBA"
"BBABCBA"
Maximum subarray: "BBAB"
Size: 4

基本上,我怎样才能以最有效的方式解决这个问题?

我的想法是:

  • 生成一个字符串的所有子数组
  • 为另一个字符串生成所有子数组;
  • 比较所有子数组
  • 结果是最大匹配子数组的大小

但我认为这是一些看起来很糟糕的蛮力。知道如何改进吗?

谢谢!

编辑我也需要字符串。

最佳答案

这是一个众所周知的问题 Longest Common Substring .它可以在 O(mn) 中解决,其中 mn 是各个字符串的长度,使用动态规划 方法。维基百科中的文章包含易于理解的伪代码。

关于c++ - 最大相等字符串子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com