枚举1到n具有kth位设置的所有数字的最佳方法是什么?
n
kth
例如: 何时n = 12和k = 1,答案将是1, 3, 5, 7, 9, 11. 如果k = 2,回答将是2, 3, 6, 7, 10, 11.
n = 12
k = 1
1, 3, 5, 7, 9, 11
k = 2
2, 3, 6, 7, 10, 11
一个简单的方法是循环n并检查是否kth设置了位(通过检查num & (1 << (k-1))是1或0)但有没有更好的方法来做到这一点?
num & (1 << (k-1))
1
0
algorithm data-structures
algorithm ×1
data-structures ×1