Alle Sublisten einer bestimmten Laenge berechnen

mindjo

Mitglied
Hallo!

Also ich versuche gerade eine Methode zu schreiben, die mir alle moeglichen Sublisten einer bestimmten Laenge k von einer gegebenen Liste berechnet..

Also als Beispiel:

Java:
int[] list = {1, 10, 2, 16}
int length = 3;

ArrayList<int[]> allLists = berechneSubListen(list, length);

//das ergebnis sollte dann folgendermassen aussehen:
// allLists[0] = {1, 10, 2};
// allLists[1] = {1, 10, 16};
// allLists[2] = {1, 2, 16};
//allLists[3] = {10, 2, 16};


Und ich habe keine IDee..wie ich sowas machen soll... ich habe im internet auch gesucht, aber nichts brauchbares gefunden....
 
Hallo 🙂

ich weis jetzt leider nicht ob Dir das hilft, aber ich würde das mit If Abfragen und ein oder 2 while Schleifen versuchen.

z.B. =>

Java:
while ( bis alle Sublisten gelesen ) {
        if (sublisten.length() < bestimmte länge ) {
             while (bis alle elemente der Subliste addiert){
                     alle Elemente addieren und Endergebnis Speichern
                     + die anderen Listen
             }
        }
}

Ich hoffe das hilft ein wenig beim Lösung finden.

Grüsse Breas
 
Zuletzt bearbeitet:
Was hast du denn bisher versucht?

Als kleine Anregung, auch wenn es banal klingt: Ein Element ist entweder in einer SubList enthalten oder nicht. Mehr Möglichkeiten gibt es nicht. Was du tun musst: Nimm dir ein Element deiner ursprünglichen Liste her und packe es in die neue SubList. Deine gesuchten SubListen setzen sich nun zusammen aus allen zwei-elementigen Sublisten kombiniert mit der ersten Zahl und den drei-Elementigen sublisten, die die erste Zahl nicht enthalten.
Das ist eine klassische Rekursions-Aufgabe und nicht schwierig umzusetzen. Ich würde dir allerdings raten mit LinkedList statt ArrayList zu arbeiten, da du so effizienter an beliebigen Stellen Elemente einfügen und entfernen kannst.

Alternativen kannst du natürlich auch einfach alle möglichen Sublisten bestimmen und anschließend die, die nicht exakt drei Elemente haben, einfach wieder streichen.
 

Neue Themen


Zurück
Oben