【发布时间】:2018-10-16 08:12:24
【问题描述】:
我正在查看this article,它解释了
也可以迭代特定子集的所有子集(由位模式表示),前提是您不介意以相反的顺序访问它们(如果这有问题,请将它们放在一个列表中,因为它们' 生成,然后向后走列表)。该技巧类似于查找数字中的最低位的技巧。如果我们从一个子集中减去 1,那么最低的集合元素被清除,并且每个较低的元素都被设置。但是,我们只想设置超集中的那些较低的元素。所以迭代步骤就是 i = (i - 1) & superset。
尽管重读了几遍,我还是无法理解。有人可以举个例子解释一下吗?
【问题讨论】:
标签: bit-manipulation bit