Jetzt arbeite ich mit dem rekursiven Zurückverfolgen, meine Aufgabe ist es, den längsten Pfad im Labyrinth zu finden, die Masse wird als das Feld dargestellt, das mit den Koordinaten bedeckt ist, und die Koordinaten der Wände sind in der Datei wund. Ich habe einen Parser gemacht, um die Eingabedatei zu analysieren und die Wände zu bauen, aber ich habe diese Koordinaten auch im Array eines Objekttyps Coordinate gespeichert, um zu überprüfen, ob es möglich ist, das nächste Stück der "Schlange" auf das nächste zu verschieben Feld, dann habe ich diese Methode erstellt, jetzt habe ich verstanden, dass ich eine Methode benötigen, um die letzte Koordinate aus dem Array zu entfernen, wenn ich Backtracking verwenden werde, wie kann ich es tun? Das Ziel ist nicht Array-Listen oder verknüpfte Listen zu verwenden nur Arrays! Danke!
%Vor%Und
%Vor%Da Java-Arrays nicht veränderbar sind, müssen Sie alles in ein neues, kürzeres Array kopieren.
%Vor%Ich weiß, es ist ein sehr alter Thread. Trotzdem hat die genehmigte Antwort für mich nicht funktioniert. Und so habe ich es gelöst.
Erstellen Sie eine Methode wie folgt:
%Vor%Dann heißt es so:
%Vor%Dies führt zu:
%Vor%Jetzt kann ich das Array auf die von mir gewünschte Art zerschneiden!
%Vor%Dies führt zu:
%Vor%Tags und Links java arrays recursion backtracking