我有一个问题,我不知道如何解决它.
我有一个二进制字符串,我想生成所有可能的二进制子串.
示例:
input : 10111
output: 10000, 10100,00111,00001,10110 ...
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做,快速而聪明?
魔术 - 虽然假设位掩码:
subset( int x )
list = ()
for ( int i = x; i >= 0; i = ( ( i - 1 ) & x ) )
list.append( i )
return list
Run Code Online (Sandbox Code Playgroud)
您可以使用相同的逻辑,虽然它涉及更多,使用二进制字符串.
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |