Not logged in. · Lost password · Register

ferb300
Member since Oct 2019
46 posts
Subject: Aufgabe 8.4 Lights Out
Hi :)
Ich glaub grad, ich bin blöd... die Aufgabe erscheint zu erst egtl einfach aber mit meinem Ansatz wirds iwie nix...
Ich probier es über Backtracking.
Grundsätzlicher Ablauf:
-Prüfen, ob es schon gelöst ist (und entsprechend leeren Merker zurückgeben)
-Aktuelles Feld togglen und Methode für nächstes Feld aufrufen
-Aktuelles Feld nicht togglen und Methode für nächstes Feld aufrufen
-Kleineren Merker zurückgeben
Das klappt zwar für den baby-PubTest super,
gibt aber für den easy-PubTest garnichts zurück und bei den beiden anderen timed es aus (was ja klar ist, da ich die Rekursion noch nicht optimiert habe, das mache ich sobald der Grundansatz klappt).
Gibt es hier irgendeinen Grundlegenden Fehler in meinem Ansatz oder muss ich einfach weiter debuggen weil ich irgendwo einen Fehler in der Implementation gemacht haben muss?
Danke für eure Hilfe :)
This post was edited on 2019-12-14, 22:17 by ferb300.
nklz
Member since Oct 2019
48 posts
Ja, in der Aufgabenstellung steht auch drinnen, wie du vorgehen sollst, um einen Timeout zu vermeiden. Dazu vielleicht auch nochmal die Folien aus der Übung 8 anschauen, wo das Backtracking nochmal erklärt ist mit dieser "besonderen" Vorgehensweise.
ferb300
Member since Oct 2019
46 posts
Danke für die Antwort, aber das timeout ist ja nicht mein Problem.. der Algorithmus an sich funktioniert ja nicht mal. Bei dem einfachsten Test funktioniert er, beim zweitschwersten gibt er null zurück und nur bei den letzten beiden timed er (wenig überraschend) out.
nklz
Member since Oct 2019
48 posts
An sich scheint deine Vorgehensweise schon richtig zu sein, der Fehler wird sich wohl irgendwo in der Ausführung verstecken.
Destranix
Erfahrener Webhelfer und Um-Rat-Frager
Member since Sep 2018
286 posts
In reply to post #1
Ich vermute, dass du entweder falsch prüfst, ob die Aufgabe gelöst wurde oder beim kleineren merker einen leeren merker als kleinsten Merker ansiehst doer so Ähnlich.

Ansonsten, falls du irgendwo Long als Object verwendest, was bei der Aufgabe nicht zwingend abwegig wäre, schauen, dass du die .equals(), etc.-Methoden verwendest, da Vergleiche mit den herkömmlichen Vergleichoperatoren nur bedingt zulässig sind.
I hate Forumssignaturen
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Datenschutz | Kontakt
Powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2011 by Yves Goergen