如何生成二进制字符串的所有可能子集? [英] How do i generate all possible subsets of an binary string?

查看:84
本文介绍了如何生成二进制字符串的所有可能子集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题,我不知道如何解决。



我有一个二进制字符串,我想生成所有可能的二进制子字符串。 / p>

示例:

 输入:10111 
输出:10000 ,10100,00111,00001,10110 ...

如何快速,智能地做到这一点?

解决方案

魔术-尽管采用位掩码:

  subset(int x)
list =()
for(int i = x; i> = 0; i =((i-1)& x))
list.append(i)
返回列表

您可以使用相同的逻辑,

i have a problem, that i don't know how to solve it.

i have a binary string and i want to generate all possible binary substrings.

Example :

input : 10111
output: 10000, 10100,00111,00001,10110 ...

How can i do this , fast AND Smart ?

解决方案

Magic - assumes bitmask though:

subset( int x ) 
    list = ()
    for ( int i = x; i >= 0; i = ( ( i - 1 ) & x ) )
          list.append( i )
    return list

You can use the same logic, though it's a little bit more involved, with a binary string.

这篇关于如何生成二进制字符串的所有可能子集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆