4

我正在尝试找出一种方法来查看位串是否在小于 n 的时间内在位串大小 n 中具有 2 个连续的位串。

例如,假设我们有一个大小为 5 的位串(索引 0-4)。如果索引 1 和 3 都是 0,我可以返回 false。但如果他们都是,那么我可能需要偷看 5 次才能找到我的答案。

位串的长度不必为 5。为简单起见,假设它可以在 3 到 8 之间。

4

1 回答 1

15

最简单的解决方案可能是对AND原始字符串进行按位运算,其自身版本已向左或向右移动了 1 位。如果生成的位字符串非零,那么您至少有一个11

test = (src & (src << 1));
于 2010-11-04T12:13:07.263 回答