1905. Unterinseln zählen
Schwierigkeit:Mittel
Themen:Array, Tiefensuche, Breitensuche, Unionssuche, Matrix
Sie erhalten zwei m x n-Binärmatrizen, Gitter1 und Gitter2, die nur Nullen (für Wasser) und Einsen (für Land) enthalten. EineInselist eine Gruppe von Einsen, diein 4 Richtungen(horizontal oder vertikal) verbunden sind. Alle Zellen außerhalb des Gitters gelten als Wasserzellen.
Eine Insel in Raster2 wird alsUnterinselbetrachtet, wenn es in Raster1 eine Insel gibt, diealledie Zellen enthält, aus denendieseInsel in Raster2 besteht .
GibtdieAnzahlder Inseln in Raster2 zurück, die alsUnterinselngelten.
Beispiel 1:

Beispiel 2:

Einschränkungen:
Hinweis:
Lösung:
Wir verwenden den DFS-Ansatz (Depth-First Search), um die Inseln in Raster2 zu erkunden und zu prüfen, ob jede Insel vollständig in einer entsprechenden Insel in Raster1 enthalten ist. So können wir die Lösung umsetzen:
Lassen Sie uns diese Lösung in PHP implementieren:1905. Unterinseln zählen
Erläuterung:
Die zeitliche Komplexität beträgt (O(m mal n)), wobei m die Anzahl der Zeilen und n die Anzahl der Spalten ist. Dies liegt daran, dass wir möglicherweise jede Zelle einmal besuchen.
Diese Lösung sollte innerhalb der gegebenen Einschränkungen effizient funktionieren.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, demRepositoryeinen 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 vonUnterinseln zählen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Schritte zur SpringBoot-Projekterstellung
Was ist Weidian?
So bedienen Sie Oracle-Rundungen
Fehler beim Herstellen der Verbindung zum Apple-ID-Server
Der Unterschied zwischen geschindelten Scheiben und vertikalen Scheiben
Was soll ich tun, wenn der Druckspooler nicht gestartet werden kann?
Was ist besser, zuerst zu lernen, C-Sprache oder C++?
Einführung in die Hauptarbeitsinhalte des Backends