试题: 从a,b,c,b从随机抽取3个,打印其所有可能组合

import java.util.ArrayList;

import java.util.Arrays;

public class Combination{

public static void combinate(ArrayList alist,ArrayList blist,int length){

if(length==0){

for(int i=0;i

ArrayList newblist=new ArrayList(blist);

newblist.add(blist.get(i));

System.out.print(newblist.get(i));

}

System.out.println();

}

if(length>=1){

for(int i=0;i

ArrayList newblist=new ArrayList(blist);

newblist.add(alist.get(i));

ArrayList newalist=new ArrayList(alist);

for(int j=0;j<=i;j++){

newalist.remove(alist.get(i));

}

combinate(newalist,newblist,length-1);

}

}

}

public static void main(String[] args){

ArrayList al=new ArrayList(Arrays.asList('a','b','c','d'));

ArrayList bl=new ArrayList();

combinate(al,bl,3);

}

}

用两个集合不断递归,算是比较高明的算法之一,递归的思路这里用得很巧,出口是抽取的数目减少到0

java组合数打印出结果_Java打印一组数据中,抽取固定数目的数的所有可能组合...相关推荐

  1. mysql求数值分位点_如何计算一组数据中任意一个数值的分位值?

    本篇补充,关于评论区@慢中取利 的提问. 分析:你的疑问是 想要逆推 算出percentile()方法的k值,也就是分位值对应的百分数. 逆推,最好的办法我认为是 找到Excel 关于percenti ...

  2. c语言峰值算法_C语言寻找一组数据中的第一第二峰值

    C语言寻找一组数据中的第一第二峰值 实验要求,我需要找出一组数组中的两个峰值:第一个峰值和第二个峰值及其数组下标.这组数据画出的图应该是这样的,我就要找出图中的那两个峰值 我写的程序如下,我试了一下, ...

  3. matlab 虚数部分,MATLAB去掉一组数据中的虚数【多图】

    MATLAB去掉一组数据中的虚数[多图] 08-01栏目:技术 TAG:matlab虚数 matlab虚数 >> A=[1+i;2;3-2i;4+5i;6;7] A = 1.0000 + ...

  4. 分治法 第1关:求一组数据中最大的两个数

    任务描述 本关任务:利用分治法求一组数据中最大的两个数和最小的两个数. 编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务. 测试说明 平台会对你编写的代码进行测试,比对你输出的数值与 ...

  5. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  6. java 打印预览_java打印和打印预览机制实例代码

    代码如下: import java.awt.basicstroke; import java.awt.borderlayout; import java.awt.color; import java. ...

  7. java打印数字星星_java打印星星方法

    class _04FestivalWork { /* 打印如下的图形 * ** *** **** ***** **** *** ** * */ public static void main(Stri ...

  8. c语言在一组数据中找最大值最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...

    问题标题 用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均 2019-7-3来自ip:18.156.193.207的网友咨询 浏览量:318 手机版 ...

  9. 用java怎么写三角形图案_Java 打印三角形图案

    以下是打印三角形图案的Java程序- 示例import java.util.*; public class Demo{ public static void main(String[] args){ ...

最新文章

  1. jQuery实现自动左右滚动效果的代码实例
  2. TripleO (openstack)
  3. vue调用接口获取后台数据_Vuex 存储||获取后台接口数据
  4. jvm类加载机制_JVM 类加载机制
  5. sql中有一些保留字,当你的字段名是它的保留字时,这个时候sql语句的字段不加``就会报错...
  6. 2018.7.10 个人博客文章=利用ORM创建分类和ORM的内置函数
  7. Linux必懂知识大总结(下)
  8. java中math方法语句,下列有关Java中标准类Math的random()方法的说法中,正确的是。 - 上学吧学历考试...
  9. 第 69 章 数据库链接
  10. 复函数图像怎么画_如何画出复平面上的网格在复函数映射下的图像?
  11. MySQL数据库基础(简介、操作规范、基本指令)
  12. 自动运维化tools篇2:通过SSH信任关系,批量修改LINUX密码
  13. 2019 牛客多校第三场 H Magic Line
  14. Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法 ....
  15. 字节流与字符流的区别
  16. 5G牌照发放 ,手机产业将迎来第二春。
  17. Metasploit利用vnc图形化远程控制工具获得靶机远程控制桌面
  18. Android密码明文显示和星号显示切换
  19. Glide加载图片会出现淡绿色的背景
  20. K8s 污点(Taints)与容忍(Tolerations)

热门文章

  1. 【Python 10】汇率兑换3.0(while循环)
  2. js手机端图片弹出方法
  3. 收拾了一下书架,感觉还是像破烂货市场一样
  4. 女人水润有诀窍,菜谱保你水灵灵 - 生活至上,美容至尚!
  5. Linux内存buffer与cache区别
  6. AndroidLinux gdb用法
  7. Linux内核dev_set_drvdata()和dev_get_drvdata()存储自定义结构体用法
  8. 显示编译代码时长的demo
  9. linux 下 /dev和/sys/dev的区别
  10. 数据清洗(根据元素匹配选取数据)