java实现组合-n个数取其中k个数的所有组合
来源:互联网 发布:数据库运维主要做什么 编辑:程序博客网 时间:2024/05/16 17:05
java实现组合,假设一组数{1,2,3,4,5,6,7,8} ,n = 8 k = 4;
从8个数中取第1个数 比如1,然后在剩下7个里面去第二个数,比如2,然后第三个在剩下的六个数中选择一个数。依次类推
如果第一次去1,第二次取第一个数时,不需要把1再列举进去,会重复
import java.util.ArrayList;public class Combine {private static ArrayList <Integer>tmpArr = new ArrayList<>();public static void main(String[] args) {int [] com = {1,2,3,4,5,6,7,8};int k = 8;if(k > com.length || com.length <= 0){return ;}combine(0 ,k ,com);}public static void combine(int index,int k,int []arr) {if(k == 1){for (int i = index; i < arr.length; i++) {tmpArr.add(arr[i]);System.out.println(tmpArr.toString());tmpArr.remove((Object)arr[i]);}}else if(k > 1){for (int i = index; i <= arr.length - k; i++) {tmpArr.add(arr[i]);combine(i + 1,k - 1, arr);tmpArr.remove((Object)arr[i]);}}else{return ; }}}
12 0
- java实现组合-n个数取其中k个数的所有组合
- 有n个数,输出其中所有和为s的k个数的组合。
- 从n个数中选取m个数的所有组合
- 递归实现 从n个数中选取m个数的所有组合
- n个数的所有组合...
- 编写算法输出从n个数中取k个(k小于等于n)的所有组合
- n个数取其中m个数的组合的遍历代码
- n中任取r个数的所有组合
- 输出N个数中取M个数的所有组合,排列情况
- 给定两个整数n和k,返回1 ... n中k个数的所有可能组合。
- m个数中取n个数的组合
- OC----从N个数中选取M个数的组合
- 输出从n个数中选m个数的所有组合
- 求组合数: 求n个数(1....n)中k个数的组合
- 《剑指offer》java实现 输入n个数,找到其中最小的K个数
- OC中的组合算法 从N个数里面取M个数的组合
- m个数取n个进行组合
- m个数里取n个的组合
- 【Java】对象、类(class)、变量(成员变量field、局部变量)、包(package)
- Qt程序启动画面播放(gif与swf两种动画格式)
- 说说量子力学
- idea快捷键
- socket、tcp、udp、http 的认识及区别
- java实现组合-n个数取其中k个数的所有组合
- linux 性能监控命令top
- git基础介绍与GitKraken操作简记
- 支持VS2017的vax插件VA_X_Setup2210
- centOS6.5安装memcached
- JDBC知识概括(1)
- IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法
- VUE.JS——脚手架安装
- C语言中的volatile用法