Es ist ein Kombinatorproblem. Wir können das Array auf maximal n-1 und außerhalb des Arrays verteilt, wir müssen K-1-Partitionen wählen. /> Erwartete Ausgabe: (3-dimensionales Array) < /H2>
[
[[1], [2], [3, 4, 5, 6]],
[[1], [2, 3], [4, 5, 6]],
[[1], [2, 3, 4], [5, 6]],
[[1], [2, 3, 4, 5], [6]],
[[1, 2], [3], [4, 5, 6]],
[[1, 2], [3, 4], [5, 6]],
[[1, 2], [3, 4, 5], [6]],
[[1, 2, 3], [4, 5], [6]],
[[1, 2, 3, 4], [5], [6]],
]
< /code>
Einschränkungen: < /p>
Subarrays sollten mindestens 1 Element haben. Weit, ich habe eine rekursive Methode ausprobiert, aber sie liefert falsche Ergebnisse. Ich kann meinen Kopf nicht darum wickeln, wie ich es korrigieren kann. Ich brauche eine Antwort, die erklärt, wie ich zuerst dieses [url=viewtopic.php?t=20324]Problem[/url] und die Intuition dahinter angehen soll, und korrigieren Sie dann meinen Code und weisen darauf hin, wo ich falsch gelaufen bin. < /P>
Mein Code: < /p>
public static void main(String[] args) {
int n = 6;
int k = 3;
int[] arr = new int[]{1,2,3,4,5,6};
ArrayList result = new ArrayList();
ArrayList eachComb = new ArrayList();
ArrayList eachSubArray = new ArrayList();
int index = 0;
generateCombinations(arr, k, index, eachSubArray, eachComb, result);
for (ArrayList each : result) {
for(ArrayList eachh: each) {
System.out.println(eachh);
}
System.out.println("-------------------------------");
}
}
private static void generateCombinations(int[] arr, int k, int index, ArrayList eachSubArray,
ArrayList eachComb, ArrayList result) {
if(k==0 || index==arr.length) {
return;
}
if(!eachSubArray.isEmpty()) {
eachComb.add(new ArrayList(eachSubArray));
}
if(k==1) {
ArrayList last = new ArrayList();
for(int i=index; i
Es ist ein Kombinatorproblem. Wir können das Array auf maximal n-1 und außerhalb des Arrays verteilt, wir müssen K-1-Partitionen wählen. /> Erwartete Ausgabe: (3-dimensionales Array) < /H2> [code][ [[1], [2], [3, 4, 5, 6]], [[1], [2, 3], [4, 5, 6]], [[1], [2, 3, 4], [5, 6]], [[1], [2, 3, 4, 5], [6]], [[1, 2], [3], [4, 5, 6]], [[1, 2], [3, 4], [5, 6]], [[1, 2], [3, 4, 5], [6]], [[1, 2, 3], [4, 5], [6]], [[1, 2, 3, 4], [5], [6]], ] < /code> Einschränkungen: < /p>
Subarrays sollten mindestens 1 Element haben. Weit, ich habe eine rekursive Methode ausprobiert, aber sie liefert falsche Ergebnisse. Ich kann meinen Kopf nicht darum wickeln, wie ich es korrigieren kann. Ich brauche eine Antwort, die erklärt, wie ich zuerst dieses [url=viewtopic.php?t=20324]Problem[/url] und die Intuition dahinter angehen soll, und korrigieren Sie dann meinen Code und weisen darauf hin, wo ich falsch gelaufen bin. < /P> Mein Code: < /p> public static void main(String[] args) { int n = 6; int k = 3; int[] arr = new int[]{1,2,3,4,5,6}; ArrayList result = new ArrayList(); ArrayList eachComb = new ArrayList(); ArrayList eachSubArray = new ArrayList(); int index = 0;
Ich versuche, eine Software zu erstellen, mit X weibliche Spieler (x ist gerade), die Funktion sollte eine Runde von X/2 -Spielen erzeugen, ohne dass der Spieler zweimal gegen denselben anderen...
Ich habe ein Array von Zahlen, jetzt muss ich die Summe der Elemente ermitteln, indem ich alle möglichen Unterarrays des gegebenen Arrays erzeuge und einige Bedingungen anwende.
Die Bedingung gilt...
Ich habe ein Array von Zahlen, jetzt muss ich die Summe von Elementen finden, indem ich alle möglichen Unterarrays des angegebenen Arrays generiere und einige Bedingungen anwenden kann. Schließlich...