输入一个集合,输出这个集合的所有子集
来源:互联网 发布:矩阵开关介绍 编辑:程序博客网 时间:2024/06/05 05:58
package cn.edu.bupt.sherry;import java.util.ArrayList;import java.util.Scanner;public class Test {/* * 二级制 001 ——> index = 0 {list.get(0)} */public static ArrayList<ArrayList<Integer>> getSubsets2(ArrayList<Integer> set){ ArrayList<ArrayList<Integer>> allsubsets = new ArrayList<ArrayList<Integer>>(); int max = 1 << set.size(); //how many sub sets for(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>(); Scanner sc = new Scanner(System.in); System.out.println("请输入一串整数并在输入时用英文逗号隔开:"); String inputString=sc.next().toString(); String stringArray[]=inputString.split(","); int num[]=new int[stringArray.length]; for(int i=0;i<stringArray.length;i++){ num[i]=Integer.parseInt(stringArray[i]); s.add(num[i]); } ArrayList<ArrayList<Integer>> allsubsets = getSubsets2(s); for(ArrayList<Integer> set : allsubsets){ System.out.println(set); } }}
0 0
- 输入一个集合,输出这个集合的所有子集
- 输出一个集合所有的子集合
- 输出一个集合的所有子集
- 输出一个集合的所有子集合
- 输出一个集合的所有子集
- 输出集合的所有子集
- 一个集合的所有子集
- 输出一个集合的所有子集(算法)
- 输出一个集合的所有子集(算法)
- 输出一个集合的所有子集(算法)
- 输出一个集合的幂集(所有子集)
- 给定一个集合,输出它的所有子集
- 输出集合所有子集的算法
- 输出集合所有子集的算法
- 算法篇:输出集合的所有子集
- 生成一个整数集合的所有子集
- 获取一个集合的所有子集
- 求一个集合的所有子集
- 递归和动态规划-汉诺塔II
- VMware安装MacOS虚拟机无法从光盘启动
- Tomcat部署项目(JEECG)时报错处理
- Ubuntu14.04交叉编译Linux内核
- linux基本命令(17)——whereis命令
- 输入一个集合,输出这个集合的所有子集
- 华为2016机试题目01
- 迭代器模式
- UI简单小结
- 使用html2canvas截屏,利用itextpdf转为pdf保存到数据库
- IE的浏览器模式和文档模式
- 上下文感知推荐系统
- PRML读书笔记(三):模型选择
- 堆排序