faecher:informatik:oberstufe:java:aoc:aoc2021:day6:start

Dies ist eine alte Version des Dokuments!


Tag 6: Laternenfische, viele Laternenfische

Aufgabenteil 1

Für den Teil 1 kann man es mit einer Modellierung wie der folgenden versuchen:

Einige Tipps für diesen Ansatz:

  • Die lanternFish-Objekte können innerhalb von day6 in einer ArrayList verwaltet werden: ArrayList<lanternFish> fishList = new ArrayList<>();
  • Die lanternFish-Objekte können eine Methode wie makeTimeStep haben, die einen Zeitschritt auf dem Fish implementiert. Hier fließen die Rahmenbedingungen der Aufgabenstellung ein. Neue Fische könnten an eine ArrayList mit neuen Fischen angehängt werden, die nachdem alle Objekte der fishList bearbeitet wurden an die fishList angehängt werden.

Damit kann man Teil 1 lösen, der Ansatz fällt einem aber in Teil 2 laufzeitmäßig auf die Füße, da die Zahl der lanternFish-Objekte in der Array List sehr schnell wächst.

  • faecher/informatik/oberstufe/java/aoc/aoc2021/day6/start.1638801181.txt.gz
  • Zuletzt geändert: 06.12.2021 14:33
  • von sbel