. Spiralmatrix III

Aug 09, 2024 am 09:18 AM

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:

. Spiral Matrix III

  • Eingabe: Zeilen = 1, Spalten = 4, rStart = 0, cStart = 0
  • Ausgabe: [[0,0],[0,1],[0,2],[0,3]]

Beispiel 2:

. Spiral Matrix III

  • 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. Richtungen: Das Richtungsarray enthält die Änderung in Zeile und Spalte für die Bewegung nach Osten, Süden, Westen und Norden.
  2. Bewegung: Wir beginnen bei (rStart, cStart) und bewegen uns entsprechend den Richtungen im Spiralmuster.
  3. Grenzprüfung: Fügen Sie die Position nur dann zum Ergebnis hinzu, wenn sie innerhalb des Rasters liegt.
  4. Schrittkontrolle: StepCount verwaltet, wie viele Schritte in die aktuelle Richtung zurückgelegt werden, bevor abgewendet wird. Es erhöht sich nach zwei Runden.
  5. 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:

  • LinkedIn
  • 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

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

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

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

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

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

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey Ankündigung von 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

Ankündigung von 2025 PHP Situation Survey

See all articles