gpt4 book ai didi

algorithm - 允许滑动时如何比较两个二进制代码?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:55:27 25 4
gpt4 key购买 nike

我正在编写一个程序来比较两个 1023 位代码并检测一个是否相同;如果不是,是否可以通过滑动位(通过执行左旋转或右旋转)使它们相同。

所以我关心的是检查代码的位是否顺序相同,并且可以通过滑动任一代码中的位来使其相等。

例如:
密码1:110101011
密码2:101111010

算法必须给出相等的代码,因为我可以通过将代码 1 的位向右滑动 5,从代码 1 得到代码 2。有没有更好的方法来执行此操作,而不是执行 AND 操作来检查相等性,然后对滑动进行按位移位?

最佳答案

您必须构建它并对其进行基准测试以查看它有多快,但是您可以通过将代码 2 的两个副本连接在一起来制作代码 3,构造一个 Generalized Suffix Tree代码 3,然后查看它是否包含代码 1 的副本。

这将是一个O(n) 算法,其中n 是您的代码的长度。

关于algorithm - 允许滑动时如何比较两个二进制代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49180717/

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