`

java计算排列结果内容

    博客分类:
  • java
阅读更多
递归方法
	/**
	 * 递归计算
	 * @param rs     最后结果
	 * @param temprs 当前排列数据内容 上下文
	 * @param data   待排列数据
	 * @param all    一共几组 从0计
	 * @param index  第几组数 从0计
	 */
	public void cal(List<Object> rs, Map<String, Integer> temprs,List<int[]> data,int all,int index){
		int[] temp = data.get(index);//取出该组数据
		for(Integer val :temp){
			//放到当前排列内容中,map重复key数据覆盖,必要
			temprs.put("index"+index, val);
			if(index == all){
				/*
				 * 最后一组数据取完,已经每组数据取到一个数据,有一个排列结果
				 * 产生,放到最后结果中,else继续递归下一组数据取值
				 */
				rs.add(temprs.values());
				System.out.println(temprs.values());
			}else{
				cal(rs,temprs,data,all,index+1);
			}
		}
	}


测试调用:
		int[] a = new int[]{2,4,8};
		int[] b = new int[]{3,5,9};
		List<int[]> data = new ArrayList<int[]>();
		data.add(a);
		data.add(b);
		
		List<Object> rs = new ArrayList<Object>();
		Map<String, Integer> temprs = new HashMap<String, Integer>();
		cal(rs, temprs, data, 1, 0);
		System.out.println("排列数:"+rs.size());



输出排列内容:
[3, 2]
[5, 2]
[9, 2]
[3, 4]
[5, 4]
[9, 4]
[3, 8]
[5, 8]
[9, 8]
分享到:
评论

相关推荐

    java排列组合算法

    4. **NumTest.java** 可能是一个测试类,用于验证和展示`Combination`、`ArrangeCombine`和`Arrange`类的功能,通过实例化这些类并调用相关方法,打印出所有组合或排列结果。 以上代码只是简单的示例,实际应用中...

    Java排列组合算法分析和代码实现

    4. 缓存优化:对于组合问题,可以考虑使用缓存存储已计算的结果,避免重复计算。 总之,这个资源包提供了一个很好的平台,让你能够深入理解并实践Java中的排列组合算法。通过学习和理解这些代码,你不仅可以增强...

    Java排列组合算法

    本文将深入探讨Java中实现排列组合算法的方法,帮助开发者更好地理解和运用这些概念。 排列是有序的选择,而组合是无序的选择。在Java中,我们可以使用递归、回溯法或者迭代的方式来实现这两种算法。下面我们将详细...

    Java排列组合_组合算法

    本文将深入探讨如何在Java中实现排列组合,特别是基于描述中提到的"利用list及set的无序性"的方法。 首先,让我们理解排列和组合的基本概念。排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列...

    从n个数组中取出所有排列组合(Java实现)

    这个Java实现会遍历所有可能的排列组合,并将结果存储在一个列表中。在实际应用中,可能需要对结果进行优化,例如使用Set避免重复,或者使用Stream API来简化代码。此外,对于大数据量的输入,还需要考虑性能优化,...

    排列组合 用JAVA来计算并按条件来排列时间

    ### 排列组合:使用Java计算并按条件排列时间 #### 背景与目标 在计算机科学领域,特别是算法设计中,排列组合是一个非常重要的概念。本文将介绍如何使用Java编程语言实现一种特定的排列组合算法:按照一定条件...

    圆排列问题-回溯法-排列集

    在这个java程序中,我们使用回溯法来生成所有可能的排列,然后计算每个排列的总长度,并比较它们,最后找到一个最佳的排列。 在解决圆排列问题时,我们需要考虑两个圆之间的距离,这可以使用circulate函数来计算。...

    java m取n 重复 不重复 排列组合 for循环嵌套递归

    根据给定文件的信息,...通过以上内容,我们详细介绍了Java中m取n排列组合的具体实现方法,包括重复与不重复的情况,以及如何使用for循环嵌套和递归来完成这些任务。这将有助于读者更好地理解和掌握相关的编程技巧。

    [Java算法设计] - 排列组合.java

    该资源提供了Java中排列组合的全面指南。文档讲解了排列组合的基本概念,包括如何计算阶乘、如何生成排列和组合,以及如何将这些概念应用于解决实际问题。 此外,文档还提供了各种排列组合算法的详细代码示例和实现...

    java 计算机 带()

    网格布局将容器划分为一个二维网格,每个组件占据一个或多个单元格,使得界面中的元素排列整齐,易于对齐。 网格布局(GridLayout)是Java Swing中的一个关键组件,属于Container类的一部分,可以通过`GridLayout...

    排列组合的算法作业 java

    `init`方法获取输入的总元素数量和需要选择的元素数量,然后计算可能的排列总数。`solve`方法使用回溯法生成所有可能的排列,当选择的元素达到指定数量时,将当前排列存储。`print`方法则展示所有结果。这个程序利用...

    计算机与软件学院 JAVA实验报告 5

    实验的结果展示了几种不同类型的Java I/O和GUI编程的实际应用,如从键盘读取输入、文件的复制、以及简单的GUI组件布局。这些实例有助于巩固理论知识,并让学生实际体验到编程解决问题的过程。 总结,这个实验报告...

    计算器的构建,运用纯JAva语言做出的基于计算机的有界面的计算机模型,并能完成科学计算等基本功能

    这个项目不仅展示了Java编程的基础知识,还涉及到图形用户界面(GUI)的设计以及科学计算的实现。 首先,我们需要理解Java语言的核心概念。Java是一种面向对象的编程语言,它的主要特点是跨平台性、安全性以及高效...

    组合数学中的生成排列算法java代码

    为了在用户界面展示结果,可能还会用到Swing或JavaFX等图形库来创建窗口和按钮,让用户可以启动或停止算法,以及查看生成的排列。 此外,组合数学中的排列计数公式也值得一提。n个不同元素的全部排列数量可以用阶乘...

    通过封装的工具类,来计算XIRR内部收益率

    - 精度和最大迭代次数应根据实际需求进行设置,以确保结果的准确性和计算效率。 总之,这个“util”工具类为开发者提供了一种便捷的方式,用于计算非定期现金流的投资项目内部收益率,是财务分析和决策的重要辅助...

    java日期计算

    根据给定文件的信息,我们可以总结出以下几个关于Java日期计算的关键知识点: ### 1. 获取某个月的最大天数 为了获取某个月的最大天数,我们可以通过`Calendar`类来进行操作。首先,我们需要创建一个`Calendar`...

    Java实现多个数组间的排列组合

    我们使用临时数组tempArrayLists来存储排列的结果,然后将这些结果添加到新的数组newArrayLists中。 在Java中,还有其他实现多个数组间的排列组合的方法,例如使用迭代器或Java 8的流式编程等。这些方法都可以实现...

    Java实现abc字符串排列组合

    "Java实现abc字符串排列组合" 本文将详细介绍Java实现abc字符串的排列组合,主要包括可重复排列、全排列和组合三个部分。 可重复排列 在Java中,可以使用递归来实现abc字符串的可重复排列。可重复排列是指从abc三...

    java编写图形界面计算器

    Java编程语言以其强大的功能和广泛的应用领域而闻名,其中之一就是创建图形用户界面(GUI)应用程序。本项目“java编写图形界面计算器”就是...这些内容对于初学者理解Java GUI编程和实际应用开发具有重要的学习价值。

Global site tag (gtag.js) - Google Analytics