Je souhaite créer une méthode Java qui accepte un inputArray = Object[n][]
, où n peut être un nombre entier et qui génère une liste de combinaisons possibles de taille n entre toutes les valeurs des n sous-matrices. Voici un exemple:Combinaisons de valeur de n sous-matrices en Java
matrice d'entrée: (où Object = chaîne et n = 3)
String[] subarrayA = {"A0","A1","A2"};
String[] subarrayB = {"B0","B1"};
String[] subarrayC = {"C0","C1","C2","C3"};
String[3][] inputArray = {subarrayA, subarrayB, subarrayC};
sortie désiré:
{A0,B0,C0},{A0,B0,C1},{A0,B0,C2},{A0,B0,C3},
{A0,B1,C0},{A0,B1,C1},{A0,B1,C2},{A0,B1,C3},
{A1,B0,C0},{A1,B0,C1},{A0,B0,C2},{A1,B0,C3},
{A1,B1,C0},{A1,B1,C1},{A1,B1,C2},{A1,B1,C3},
{A2,B0,C0},{A2,B0,C1},{A2,B0,C2},{A2,B0,C3},
{A2,B1,C0},{A2,B1,C1},{A2,B1,C2},{A2,B1,C3}
Évidemment, je ne peux pas avoir une boucle imbriquée fixée à l'intérieur ma méthode puisque je ne connais pas n
à l'avance. Donc, je suppose que la seule façon de le résoudre serait d'utiliser une méthode récursive? Des recommandations?
P.S: Je suis au courant de la simple combination-related posts sur le site Web.
Est-ce un devoir? Qu'avez-vous essayé? – Scorpion
Non, ce n'est pas un devoir. J'essaye de créer une table de probabilité a priori pour mon réseau bayésien, basée sur un ensemble de données qui n'a que des colonnes 'catégoriques'. J'ai besoin des combinaisons pour créer des requêtes SQL avec les valeurs de colonne données à la volée. – Rhubarb
En termes mathématiques, la sortie désirée est le * produit cartésien * des n ensembles d'entrée. ("combinaisons de taille n entre toutes les valeurs des n sous-réseaux" inclurait probablement aussi {A0, A1, B0}.) – meriton