Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试找出一种方法来查看位串是否在小于 n 的时间内在位串大小 n 中具有 2 个连续的位串。
例如,假设我们有一个大小为 5 的位串(索引 0-4)。如果索引 1 和 3 都是 0,我可以返回 false。但如果他们都是,那么我可能需要偷看 5 次才能找到我的答案。
位串的长度不必为 5。为简单起见,假设它可以在 3 到 8 之间。
最简单的解决方案可能是对AND原始字符串进行按位运算,其自身版本已向左或向右移动了 1 位。如果生成的位字符串非零,那么您至少有一个11:
AND
11
test = (src & (src << 1));