algorithm - 以最快的方式生成所有 n 位二进制数

标签 algorithm bitstring

如何生成 n 位字符串的所有可能组合?我需要以最快的方式生成 20 位字符串的所有组合。 (我目前的实现是通过按位与和右移操作完成的,但我正在寻找一种更快的技术)。

我需要将位串存储在数组(或列表)中以获取相应的十进制数,例如 --

0 --> 0 0 0

1 --> 0 0 1

2 --> 0 1 0 ... 等等

有什么想法吗?

最佳答案

python

>> n = 3
>> l = [bin(x)[2:].rjust(n, '0') for x in range(2**n)]
>> print l
['000', '001', '010', '011', '100', '101', '110', '111']

关于algorithm - 以最快的方式生成所有 n 位二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325868/

相关文章:

algorithm - BIT:使用二进制索引树?

java - Android A* 寻路无限循环?

c++ - 将具有排序行的二维数组合并为一个大的一维数组

c - 如何使用直接来自函数的返回值作为位串而不是格式化数字?

elixir - 在 Elixir 中使用 pin 运算符匹配位串的模式

algorithm - 霍夫曼“终结者”比特串

algorithm - 基于纬度/经度的物流路由和隔离算法

arrays - 在 PostgreSQL 中将位串转换为数组

java - 在 Java 中实现加密,同时保持位串长度

algorithm - 线段树中的惰性传播?