Top 150-InterviewEinfach

Pazifischer Atlantik-Wasserfluss

Ausführlicher Leitfaden und Python-Implementierung für das Problem „Pacific Atlantic Water Flow“.

Problemstellung

Einfach

Es gibt eine m x n große rechteckige Insel, die sowohl an den Pazifischen Ozean als auch an den Atlantischen Ozean grenzt. Der Pazifische Ozean berührt den linken und oberen Rand der Insel und der Atlantische Ozean berührt den rechten und unteren Rand der Insel.

Die Insel ist in ein Gitter aus quadratischen Zellen unterteilt. Sie erhalten eine ganzzahlige m x n-Matrixhöhen, wobei heights[r][c] die Höhe der Zelle über dem Meeresspiegel an der Koordinate (r, c) darstellt.

Regenwasser kann zu benachbarten Zellen direkt im Norden, Süden, Osten und Westen fließen, wenn die Höhe der benachbarten Zelle kleiner oder gleich der Höhe der aktuellen Zelle ist. Wasser kann von jeder an einen Ozean angrenzenden Zelle in diesen Ozean fließen.

Gibt ein 2D-Listenergebnis mit Gitterkoordinaten zurück, wobei result[i] = [ri, ci] angibt, dass Regenwasser von Zelle (ri, ci) sowohl in den Pazifik als auch in den Atlantik fließen kann.

Schreiben Sie eine Funktion pacificAtlantic(heights: List[List[int]]) -> List[List[int]].

Einschränkungen
  • m == len(heights)
  • n == len(heights[0])
  • 1 <= m, n <= 200
  • 0 <= heights[i][j] <= 10^5

Beispiele

Example 1
Input
heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]
Output
[[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]
Explanation

These coordinates can flow to both Pacific (via top/left) and Atlantic (via bottom/right) oceans.

Example 2
Input
heights = [[1]]
Output
[[0,0]]
Explanation

The single cell borders both oceans directly.

Need a Hint?
Erwägen Sie die Verwendung von Graphs-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.