【发布时间】:2018-06-21 07:56:11
【问题描述】:
我正在寻找一种算法,它给定一个目标,返回该目标位为 0 的第 N 个数字。
例如对于n={0,1,2,3}和target=1的输入,
输出将是(二进制)
000,001,100,101
【问题讨论】:
-
如果性能不是问题,对于
n中的每个N,您检查目标位,直到 N 为 0(仅在目标位为 0 时递减)此时将是第 N 个数字。您可以存储中间结果,并在后续遍历中使用这些结果。
标签: algorithm bitwise-operators bit bit-shift bits