delannoyMem - Erstellung von mem

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.

delannoyMem - Erstellung von mem
Hallo zusammen,

ich habe irgendwie einen Aussetzer was die delannoyMem Aufgabe angeht. In der Aufgabenstellung steht

  Opfern Sie einen rekursiven Aufruf, um mem Ihrer
  Implementierung in passender Größe bereitzustellen.

Theoretisch würde ich im ersten Aufruf, wenn mem null ist, ein neues Feld in passender Größe anlegen und den weiteren rekursiven Aufrufen zum Befüllen mitgeben. Jetzt soll das Bereitstellen selbst aber rekursiv erfolgen.

Ich rufe mich also selbst rekursiv auf wenn mem == null ist, unterscheide dort irgendwie ob ich im initialen oder rekursiven Fall bin und erstelle ich es dann. Allerdings wird die Zuweisung zum Argument ja nur in dem rekursiven Aufruf gemacht, im calling scope ist es nach wie vor null (ist ja keine Modifikation des Arguments, sondern eine neue Zuweisung).

Ich steh gerade auf dem Schlauch, wie ich mem in passender Größe erstellen und zurückgeben kann, da es in Java weder ref/out Argumente noch Pointer gibt. Kann mir jemand einen Schubs in die richtige Richtung geben?


Wozu die Unterscheidung? Wenn mem == null, dann bist du automatisch im initialen Fall. Die Größe des Labyrinths hast du ja auch bereits herausgefunden in den Teilaufgaben zuvor, du hast also alle Informationen dir dein mem selbst zu erstellen und - wie du bereits herausgefunden hast - rekursiv zu verwenden. :slight_smile:


Ja, die Größe ist trivial.
Beispielsweise für n == k == 0, wenn ich einfach ein mem der richtigen Größe erstelle und dann weitermache, dann habe ich eine Rekursionstiefe von 1 (keine weitere Rekursion weil Basisfall). Erwartet wird allerdings eine Rekursionstiefe von 2. Und ich komme gerade aufs … moment mal …

Sch… bin ich doof 8-(

Danke, Du bist mein Held, genau den Schubser habe ich gebraucht.

So, alle public tests grün, jetzt geht’s ans Absenden :slight_smile:

1 „Gefällt mir“