Wie lösche ich das letzte Element aus einem Array?

8

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%     
Andrey Liberty 14.10.2014, 09:53
quelle

3 Antworten

41

Da Java-Arrays nicht veränderbar sind, müssen Sie alles in ein neues, kürzeres Array kopieren.

%Vor%     
Marko Topolnik 14.10.2014 09:57
quelle
2

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%     
Dilip Muthukurussimana 13.09.2017 20:54
quelle
-1
%Vor%     
adm 18.03.2017 06:15
quelle