Tag: 组合

Java:给出数字N的true和false组合的生成器;

我尽可能地简化任务,所以我可以将它应用到我的算法中。 这是数学家和程序员面临的挑战: 我需要创建一个传递参数int n的方法: public void optionality_generator(int n){ //some kind of loops, or recursions…to make it workable System.out.println(“current combination: …”); } 输出应显示true和false的所有可能组合。 这是N = 1的例子; N = 2; N = 3; N = 4; N = 5,其中x =假,0 =真; 请注意,空的断裂线只是为了让您更容易识别图案。 希望,我包括所有可能的组合): Combination of 1: 0 x Combination of 2: 00 x0 0x xx Combination of […]

组合:生成所有“状态” – 数组组合

我有一个整数数组: n[] 。 另外,我有一个数组( Nr[] )包含n.length整数。 我需要以下列方式生成n[]所有组合: /* let n.length == 3 and Nr[0] = 2, Nr[1] = 3, Nr[2] = 3 */ n = {0, 0, 0}; n = {1, 0, 0}; n = {2, 0, 0}; n = {0, 1, 0}; n = {0, 2, 0}; n = {0, 3, 0}; n = […]

如何(便宜地)计算n个可能元素的所有可能的长度-r组合

什么是计算n个可能元素的所有可能长度-r组合的最快方法,而不采用powershell技术或任何需要STL的东西? 在我的数据结构类中为我的最终项目开发Apriori算法时,我开发了一个使用位移和递归的有趣解决方案,我将在下面的答案中分享对任何感兴趣的人。 但是,这是实现这一目标的最快方法(不使用任何通用库)吗? 我出于好奇而不是其他任何问题,因为我目前的算法对我的目的来说效果很好。

获取包含Java中重复字符的字符串或组合的所有可能排列

我一直在尝试生成每个可能的4个字符串的列表,该字符串可以由任何给定的字符集组成。 我已经使用一个函数从一组字符生成每4个字符组合,但每个字符只使用一次。 我需要使用给定的一组字符进行每种可能的组合,例如: String[] elements = {“a”, “b”, “c”, “1”, “2”, “3”}; int[] indices; CombinationGenerator x = new CombinationGenerator (elements.length, 4); StringBuffer combination; while (x.hasMore ()) { combination = new StringBuffer (); indices = x.getNext (); for (int i = 0; i < indices.length; i++) { combination.append (elements[indices[i]]); } System.out.println (combination.toString ()); } 使用此处的CombinationGenerator类,将返回每个唯一的4个字符组合,例如: ‘abcd’ […]

从数组中获取大小为n的所有组合的算法(Java)?

现在我正在尝试编写一个带有数组和整数n的函数,并给出每个大小为n的组合的列表(所以是int数组的列表)。 我能够使用n个嵌套循环编写它,但这仅适用于特定大小的子集。 我无法弄清楚如何推广它适用于任何大小的组合。 我想我需要使用递归? 这是3个元素的所有组合的代码,我需要一个适用于任意数量元素的算法。 import java.util.List; import java.util.ArrayList; public class combinatorics{ public static void main(String[] args) { List list = new ArrayList(); int[] arr = {1,2,3,4,5}; combinations3(arr,list); listToString(list); } static void combinations3(int[] arr, List list){ for(int i = 0; i<arr.length-2; i++) for(int j = i+1; j<arr.length-1; j++) for(int k = j+1; k<arr.length; k++) list.add(new […]