885. Spiralmatrix III
Mittel
Themen:Array, Matrix, Simulation
Sie beginnen an der Zelle (rStart, cStart) eines nach Osten ausgerichteten Rasters mit Zeilen x Spalten. Die nordwestliche Ecke befindet sich in der ersten Zeile und Spalte im Raster und die südöstliche Ecke befindet sich in der letzten Zeile und Spalte.
Sie gehen spiralförmig im Uhrzeigersinn, um jede Position in diesem Raster zu besuchen. Immer wenn Sie sich außerhalb der Gittergrenze bewegen, setzen wir unseren Spaziergang außerhalb des Gitters fort (kehren jedoch möglicherweise später zur Gittergrenze zurück). Schließlich erreichen wir alle Zeilen * Spalten und Leerzeichen des Rasters.
Gibt ein Array von Koordinaten zurück, die die Positionen des Gitters in der Reihenfolge darstellen, in der Sie sie besucht haben.
Beispiel 1:
Beispiel 2:
Einschränkungen:
Lösung:
Um dieses Problem zu lösen, können wir die folgenden Schritte ausführen:
Lassen Sie uns diese Lösung in PHP implementieren: 885. Spiralmatrix III
Erläuterung:
- Richtungen: Das Richtungsarray enthält die Änderung in Zeile und Spalte für die Bewegung nach Osten, Süden, Westen und Norden.
- Bewegung: Wir beginnen bei (rStart, cStart) und bewegen uns entsprechend den Richtungen im Spiralmuster.
- Grenzprüfung: Fügen Sie die Position nur dann zum Ergebnis hinzu, wenn sie innerhalb des Rasters liegt.
- Schrittkontrolle: StepCount verwaltet, wie viele Schritte in die aktuelle Richtung zurückgelegt werden, bevor abgewendet wird. Es erhöht sich nach zwei Runden.
- Beendigung: Die Schleife wird fortgesetzt, bis alle Positionen im Raster besucht wurden.
Dieser Ansatz stellt sicher, dass wir jede Zelle im Raster in der erforderlichen Spiralreihenfolge besuchen.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt von. Spiralmatrix III. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!