. Spiralmatrix III
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:
- Eingabe: Zeilen = 1, Spalten = 4, rStart = 0, cStart = 0
- Ausgabe: [[0,0],[0,1],[0,2],[0,3]]
Beispiel 2:
- Eingabe: Zeilen = 5, Spalten = 6, rStart = 1, cStart = 4
- Ausgabe: [[1,4],[1,5],[2,5],[2,4],[2,3],[1,3],[0,3] ,[0,4],[0,5],[3,5],[3,4],[3,3],[3,2],[2,2],[1,2],[ 0,2],[4,5],[4,4],[4,3],[4,2],[4,1],[3,1],[2,1],[1, 1],[0,1],[4,0],[3,0],[2,0],[1,0],[0,0]]
Einschränkungen:
- 1 <= Zeilen, Spalten <= 100
- 0 <= rStart < Zeilen
- 0 <= cStart < cols
Lösung:
Um dieses Problem zu lösen, können wir die folgenden Schritte ausführen:
- Richtungsanordnung: Verwenden Sie eine Richtungsanordnung, um die Bewegung in der richtigen Reihenfolge (Ost → Süd → West → Nord) zu erleichtern. Jede Richtung hat eine entsprechende Änderung in den Zeilen- und Spaltenindizes.
- Schritteverwaltung: Sie müssen steuern, wie viele Schritte Sie in jede Richtung unternehmen müssen. Zunächst bewegst du dich 1 Schritt nach Osten, dann 1 Schritt nach Süden, 2 Schritte nach Westen, 2 Schritte nach Norden und so weiter.
- Grenzprüfung: Stellen Sie sicher, dass Sie nach jeder Bewegung prüfen, ob die neue Position innerhalb der Rastergrenzen liegt. Wenn ja, fügen Sie es dem Ergebnisarray hinzu.
- Stoppbedingung: Stoppen Sie die Schleife, sobald Sie alle Zeilen * Spaltenpositionen besucht haben.
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:
- GitHub
Das obige ist der detaillierte Inhalt von. Spiralmatrix III. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
