如何用二进制求子集?

发布时间:2020-05-29 17:29:54 作者:鸽子
来源:亿速云 阅读:287

                                                           

#include<iostream>
#include<vector>
using namespace std;
vector<vector<int> > result;
int cnt;
void solution(vector<int> nums)
{
int num=1;
    cnt = (1 << nums.size());
    for(int i = 0; i < cnt; i++)
    {
        vector<int> item;
        for(int j = 0; j < nums.size(); j++)
        {
            if(i & (1 << j))
            {
                item.push_back(nums[j]);
            }
        }
        result.push_back(item);
    }
}
int main()
{
    vector<int> nums;
    nums.push_back(1);
    nums.push_back(2);
    nums.push_back(3);
     solution(nums);
     for(int i = 0; i < cnt; i++)
     {
        if(result[i].size() == 0)
        {
            cout<<"[]";
         }
        for(int j = 0; j < result[i].size(); j++)
        {
            cout<<"["<<result[i][j]<<"]";   
         }
         cout<<endl;
     }
    return 0;
 } 

推荐阅读:
  1. 子集生成
  2. 求二进制中1的个数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 子集 二进制

上一篇:java bfs实现单词最少转换次数

下一篇:使用thymeleaf引用公共页面的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》