4.2 allEqual() im Interface

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

4.2 allEqual() im Interface
Hallo, versteht jemand inwiefern wir bei der Aufgabe die bereitgestellte Methode allEqual() verwenden sollen?
In der Angabe steht ja, dass wir sie in den Basisfall des Backtrackings packen sollen. So wie ich das verstehe wird der Basisfall ja nur aufgerufen wenn eine Loesung gefunden wurde.

Einen Bezug dazu was allEqual(long[] array) eigentlich macht, naemlich zu pruefen ob alle Elemente eines Arrays gleich sind sehe ich ehrlich gesagt ueberhaupt nicht.

Kurzgesagt: Was hat allEqual() mit dem Basisfall zu tun?


An der Lösung des Problems wäre ich auch interessiert :wink: Bei mir sind die Ergebnisse der Testfälle alle richtig (wenn ich mir den Array r im Basisfall ansehe). Allerdings ist läuft nur ein Test durch und die restlichen nicht wegen falscher Rekursionstiefe, die bei mir angeblich immer 0 :frowning:


Meine Methode liefert auch richtige Ergebnisse, hat aber anscheinend eine konstante Rekursionstiefe von 1, bei jedem Aufruf.
Ich muss auch dazu sagen dass ich Backtracking noch nicht zu 100% verstanden habe, also mir nicht ganz sicher bin was bei meiner Rekursion ganz genau passiert ???‍♂️


Hm ich bin mir schon recht sicher, was bei mir passiert. Ich habe tatsächlich auch nen Counter initialisiert, der die Rekursionstiefe zählt. Dessen wert ist eigentlich auch immer größer als die geforderte Mindestiefe, deswegen denke ich, dass es was mit diesem alleuqals() zu tun hat. Die Aufgabe sagt ja man könne aus dem Code entnehmen wie die Methode funktioniert. eeeeeeeh ja finde ich eher garnicht :smiley:


Hat noch jemand eine Lösung hierfür gefunden?


allEqual() musste ich direkt vor dem return im Basisfall ausfuehren, dann hat das mit der Rekursionstiefe geklappt, falls du das meinst.


und was für einen array übergibst du der methode?


Das (Teil-)Loesungsarray, also Partitionen.
Meine Methode hat aber auch nicht 100% geklappt, weil sie zwar eigentlich alle Eingaben loesen konnte, aber sobald ein Test das Wort “random” enthielt grundsaetzlich null ausgegben hat. Weird