gpt4 book ai didi

c++ - 在 C++ 中的字符串中查找循环的有效算法和代码?

转载 作者:搜寻专家 更新时间:2023-10-31 01:58:14 26 4
gpt4 key购买 nike

例如,在“12345123451234512345”中,找到“12345”的高效算法是什么?

用 C++ 编码。

谢谢。

最佳答案

继续你的例子:

12345123451234512345 返回 12345

我想你想要的是找到最长的针,重复完成大海捞针,即 1212121212 => 12, 444 => 4 等等。

最简单的解决方案是选择第一个字符并运行整个字符串比较匹配项。如果在任何时候你有一个不匹配,选择前两个字符并运行整个字符串比较等等,直到你的窗口大小变得大于字符串的一半。

复杂度应该是 O(n^2)

您可以根据字符串的长度优化选择的窗口大小,即窗口大小只能是字符串长度的约数。

关于c++ - 在 C++ 中的字符串中查找循环的有效算法和代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4351978/

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