m选n的所有组合

发布时间:2020-06-29 01:16:05 作者:猿程序G
来源:网络 阅读:317

思路
M选N组合算法
应用--×××的注数算法

本程序的思路是开一个数组b,其长度和数据数组一致,其前N位为1,N就是要取的数的个数,然后按照b的数据为1的下标来取数据数组的数字
然后从左到右扫描数组b元素值的“10”组合,找到第一个“10”组合后将其变为
“01”组合,同时将其左边的所有“1”全部移动到数组的最左端,“0”移到所有“1”和变为了“01”的中间
当b数组最右边的N个元素全部为1时 组合完毕
例如求5中选3的组合:
1 2 3 4 5 <-数组数组
1 1 1 0 0 -->1,2,3
1 1 0 1 0 -->1,2,4
1 0 1 1 0 -->1,3,4
0 1 1 1 0 -->2,3,4
1 1 0 0 1 -->1,2,5
1 0 1 0 1 -->1,3,5
0 1 1 0 1 -->2,3,5
1 0 0 1 1 -->1,4,5
0 1 0 1 1 -->2,4,5
0 0 1 1 1 -->3,4,5
打印所有组合时,做判断是1时赋值下标然后输出

public class MyCombine {
public static void main(String[] args) {
String[] a = { "1", "2", "3", "4", "5","6","7","8","9","10","11"};
int num = 5;
MyCombine tp = new MyCombine();
for (String obj : tp.combine(a, num)) {
//System.out.println(obj.toString());
break;
}
}
/**

推荐阅读:
  1. [白开水]-shell-从数值N累加到M(N<M)-知识点
  2. Python中X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]是什么

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

m选n算法

上一篇:技术管理规划-从哪入手?

下一篇:informix数据库的日志模式

相关阅读

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

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