美文网首页
实现组合

实现组合

作者: FD_Rookie | 来源:发表于2018-01-30 15:02 被阅读3次

简书不支持代码格式,蛋疼。。。。

要求梗概:堆场5排,4层高,放有次序的20个箱子进去,求有多少种方法。

那么也就是每个箱子都可以标号1-5,代表放的排的位置。

大致思路可以表示如下。deg【i】代表i排的箱子数目

就是一个递归思路,注意最后还是要deg[i]++,因为如果不++,递归套一层出来后所有箱子信息就是0了,这样就只有一个结果了。


import java.util.ArrayList;

import java.util.List;

/**

* Created by LeeTom on 2018/1/29.

*/

public class traversal {

public static final int height =4;//层高;

    public static final int row =5;//排数

    public static int []count =new int[]{height,height,height,height,height,height};//1*6的数组

    public static int total =0;//总数

    private static int m =height*row;

public static void main(String[] arg){

        List L1 =new ArrayList<>();

        new traversal().findall(L1,m);

        System.out.println("count: " +total);

}

private void findall( List L1,int m){

    if(m ==0){

            System.out.println();*/

            total++;

            return;

    }

    List L2;

    for(int i=1;i<=row;i++){

    L2 =new ArrayList();

    L2.addAll(L1);

    if(count[i]>0){

    L2.add(i);

    count[i]--;

    findall(L2,m-1);

    count[i]++;

}

}

}

}

相关文章

  • 实现组合

    简书不支持代码格式,蛋疼。。。。 要求梗概:堆场5排,4层高,放有次序的20个箱子进去,求有多少种方法。 那么也就...

  • Numpy 数组组合操作

    01水平组合 hstack 和concatenate 函数也可以实现,axis = 1 可以实现 02垂直组合 ...

  • 继承方法

    构造函数/原型/实例的关系 借助构造函数实现继承 借助原型链实现继承(弥补构造函数实现继承不足) 组合方式(组合原...

  • 排列组合

    python 实现 排列组合

  • 组合模式(统一叶子与组合对象)

    目录 从生活场景出发,映射组合模式 组合模式的理论概念 组合模式的实现 组合模式在源码中的应用 组合 “优于” 继...

  • JS函数组合

    组合原理(逐个执行): 组合实现(执行方向右到左): 组合管道(执行方向左到右):

  • 2018-08-02

    php实现组合枚举算法 源码

  • Geekband-job4.3

    1、组合模式 组合模式的实现根据所实现接口的区别分为两种形式,分别称为安全模式和透明模式。组合模式可以不提供父对象...

  • UML图的基础

    一、 基础关系 依赖关系依赖关系 实现关系实现关系 继承关系继承关系 组合关系组合关系 聚合关系聚合关系 关联关系...

  • 关于项目中组合搜索的一点代码

    CRM组合搜索实现关键代码 Config配置相关,创建CombineFilterOption对象组成列表 组合搜索...

网友评论

      本文标题:实现组合

      本文链接:https://www.haomeiwen.com/subject/qdvfzxtx.html