2

我正在尝试编写一个使用可变位集保持状态的回溯算法,它工作正常,但我希望它运行得更快!

关键是有两个 mutable.BitSet alpha 和 beta 我需要计算 alpha 的任何位是否设置在 beta 中,即按位与。我不需要结果集只需要知道交集是否为非空

(alpha intersect beta).nonEmpty

或者

(alpha & beta).nonEmpty

但是这两个都构建了一个集合,然后对其进行大小测试......我真的只需要一个布尔值,并且希望避免构建中间集合的成本。

有没有更好的办法?

TIA 尼瓦格

4

1 回答 1

2

参考API 文档,您可以使用findandcontains方法。

alpha find (beta.contains) isDefined

或者

更好的是,使用exists方法。

alpha exists (beta.contains)

或者

更短更好的是,使用与其方法等效 applyBitSetcontains方法。

alpha exists beta
于 2013-09-28T09:50:58.453 回答