如何获得一个集合的所有子集合?

对于集合里面的任何一个元素,有两种可能,一种是在子集合里,另一种是不在子集合里。在子集合里的话用1表示,不在的话用0表示,那么一个集合的子集合都可以用二进制表示,假设集合为{1,2,3},那么可以用下列二级制表示:000,001,010,011......共有2^n种表示。static ArrayList<ArrayList<Integer>> getSubsets2(ArrayList<Integer> set){ArrayList<ArrayList<Integer>> allsubsets = new ArrayList<ArrayList<Integer>>();int max = 1 << set.size(); //how many sub setsfor(int i=0; i<max; i++){int index = 0;int k = i;ArrayList<Integer> s = new ArrayList<Integer>();while(k > 0){if((k&1) > 0){s.add(set.get(index));}k>>=1;index++;}allsubsets.add(s);}return allsubsets;
}public static void main(String[] args){ArrayList<Integer> s = new ArrayList<Integer>();s.add(1);s.add(2);s.add(3);ArrayList<ArrayList<Integer>> allsubsets = getSubsets2(s);for(ArrayList<Integer> set : allsubsets){System.out.println(set);}
}`

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/297784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日常使用Git,这些问题你遇到过吗?

GitHub 作为世界上最大的代码托管平台&#xff0c;几乎所有的开发者都有个 GitHub 的账号。因为无论对于开发者还是普通用户来讲&#xff0c;GitHub 上面都有不少优质开源项目可以借鉴和学习。其受欢迎程度还体现在&#xff0c;越来越多的人会主动优化自己的 GitHub 主页&#…

oracle基于时间恢复整个数据库

使用SQL*Plus执行闪回。 1.关闭数据库。SQL> shutdown abort;2启动数据库到挂载模式。SQL> startup mount;3.数据闪回。SQL> recover database until time 2011-11-20:07:00:00;(数据闪回的另一个可用命令&#xff1a;SQL> flashback database to timestamp to_tim…

delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘

1、new -->application2、在form1中加入一个tPopMenu 命名为pm13、uses ShellAPI;4、定义一个常量在constWM_TRAYMSG WM_USER 101;5、在private中生命变量NotifyIcon: TNotifyIconData;6.声明两个消息procedure TfrmMain.WMSysCommand(var Msg: TMessage);beginif Msg.WPa…

Android API 中文(14) —— ViewStub

前言关键字&#xff1a; android.view.ViewStub&#xff0c;版本为Android 2.2 r1本章翻译来自唐明 &#xff0c;这里本博负责整理和发布&#xff0c;欢迎其他译者一起参与Android API 的中文翻译行动&#xff0c;联系我over140gmail.com。 声明 欢迎转载&#xff0c;但请保留文…

stm32l0的停止模式怎么唤醒_「正点原子STM32Mini板资料连载」第十九章 待机唤醒实验...

1)实验平台&#xff1a;正点原子STM32mini开发板2)摘自《正点原子STM32 不完全手册(HAL 库版)》关注官方微信号公众号&#xff0c;获取更多资料&#xff1a;正点原子第十九章 待机唤醒实验本章我们将向大家介绍 STM32 的待机唤醒功能。在本章中&#xff0c;我们将使用 WK_UP 按…

Pgbouncer 介绍

Pgbouncer 介绍 PostgreSQL 的轻量的连接池。 特性 在轮转连接的时候有好几种方式&#xff1a;Session pooling/会话连接池最礼貌的方法。在客户端连接的时候&#xff0c;在它的连接生命期内&#xff0c;会给它赋予一个服务器连接。在客户端断开的时候&#xff0c;服务器连接会…

如何在不安装 Microsoft Office 的情况下生成 Excel 文件?

咨询区 mistrmark&#xff1a;我的一个项目中有导出 excel 的功能&#xff0c;但我发现运行代码的机器上一定要安装 Excel&#xff0c;否则就找不到 Microsoft.Office.Interop.Excel &#xff0c;导致运行报错&#xff0c;请问如何解决&#xff1f;回答区 Mike Webb&#xff1a…

阿里全球数学竞赛落幕:全球最强73人出炉,北大获奖人数第一,还“炸出”各路世界大牛...

全世界只有3.14 % 的人关注了爆炸吧知识来源&#xff1a;量子位 ID&#xff1a;QbitAI作者&#xff1a;边策 金磊又是一场学霸的盛宴。阿里达摩院举办的第二届数学竞赛今天顺利结束&#xff0c;这场号召全民参与的数学竞赛&#xff0c;初赛的题目画风是这样的&#xff1a;是不…

c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

强制类型转换形式&#xff1a;(类型说明符) (表达式)举例说明&#xff1a;1) int a;a (int)1.9;2)char *b;int *p;p (int *) b; //将b的值强制转换为指向整型数据的指针类型&#xff0c;后赋给p注示&#xff1a;类型说明符和表达式都必须加括号&#xff0c;表达式为单个变量可…

MFC socket网络编程(流程示例)

MFC socket网络编程(流程示例) 1.TCP流式套接字的编程步骤 在使用之前须链接库函数&#xff1a;工程->设置->Link->输入ws2_32.lib&#xff0c;OK&#xff01; 服务器端程序&#xff1a; 1、加载套接字库 2、创建套接字&#xff08;socket&#xff09;。 3、将套接字…

qfiledialog文件过滤_自定义高级QFileDialog文件过滤器

QFileDialog提供了一个函数---setproxyModel。。就是用这个来玩了。就是override filterAcceptsRow的虚函数&#xff0c;里面定制自己的过滤需求。返回bool 下面就是判断是否是目录&#xff0c;只显示目录文件夹。1 #ifndef PROXY_MODEL_H2 #define PROXY_MODEL_H34 #include…

【Azure + Core】实现CI/CD(一)构建镜像并推送仓库

&#xff08;海上生明月&#xff0c;天涯共此时&#xff09;今天是农历八月十六&#xff0c;大家中秋节快乐&#xff01;放了三天假&#xff0c;和家人整理下屋子&#xff0c;打扫下卫生&#xff0c;闲着无聊就研究点儿新东西。最近一直再看DevOps相关的内容&#xff0c;自从开…

detectron2训练自己的数据集_keras版MaskRCNN来训练自己的目标检测数据集

向AI转型的程序员都关注了这个号&#x1f447;&#x1f447;&#x1f447;机器学习AI算法工程 公众号&#xff1a;datayx一、运行环境的安装&#xff1a;1、下载好cuda9跟cudnn7&#xff0c;然后在安装好后&#xff0c;cuda其会自动添加到环境变量里&#xff0c;所以使用kera…

Win7系统中必需记住的14个常用快捷键

在使用电脑时&#xff0c;多多少少地都会用到一些快捷键&#xff0c;尤其是在玩游戏&#xff0c;或使用一些软件时。快捷键不仅方便&#xff0c;如果用的好&#xff0c;甚至可以大大提升我们的工作效率。而且&#xff0c;快捷键不仅可以在软件中使用&#xff0c;在Win7系统中其…

git 删除远程分支

2019独角兽企业重金招聘Python工程师标准>>> git branch -r -d origin/dev git push origin :dev 注意&#xff1a; git push origin 后面有个空格 转载于:https://my.oschina.net/u/1176097/blog/391573

float型y取值在1.0c语言表达式,2011年全国计算机二级C语言模拟试题及答案(14)...

一、选择题(1—14每题1分&#xff0c;15-18每题1.5分&#xff0c;共20分)1.可选作用户标识符的一组标识符是()AvoidBc5_b8CForD3aDefine_53-abDOWORDIFCaseint2.在C语言中&#xff0c;非法的八进制是&#xff1a;()A.018B.016C.017D.02573.在TC中&#xff0c;基本inta[4]类型变…

我看过《隐秘的角落》才知道,理科生有多可怕!

全世界只有3.14 % 的人关注了爆炸吧知识最近&#xff0c;大家都被《隐秘的角落》刷屏了吧&#xff1f;但吃瓜、看瓜的背后&#xff0c;我看到了理科生的可怕之处。数学课上&#xff0c;为了暗示朱朝阳自己杀人其实是因为被背叛&#xff0c;张东升利用笛卡尔在爱情里或美好与悲惨…

mysql sleep详解_sql注入详解(二)

sql注入详解4、检测方法首先是判断能不能进行sql注入是哪种sql注入(1)数字型?id1 and 11 返回成功?id1 and 12 返回失败这说明是数字型注入&#xff0c;或者叫整型注入此时后台是select * from where id x and 11select * from where id x and 12显然一个判断为真&#x…

Visual Studio的奇淫技巧,你知道多少?

如果你像我一样&#xff0c;或许你也沉迷于开发者工具。这就是我喜欢 Visual Studio 的原因之一——它有无数的生产力技巧。这篇文章将展示五个这样的技巧&#xff0c;这些技巧对我每天的工作都有帮助。请注意&#xff0c;这些仅适用于 Visual Studio。有像ReSharper[1]、Rosly…

promise的状态以及api介绍_前端 api 请求缓存

作者&#xff1a;wsafighthttps://github.com/wsafight/personBlog/issues/2web开发时&#xff0c;性能都是必不可少的话题。对于webpack打包的单页面应用程序而言&#xff0c;我们可以采用很多方式来对性能进行优化&#xff0c;比方说 tree-shaking、模块懒加载、利用 extrens…