Le migliori 150 intervisteFacile

Flusso d'acqua del Pacifico Atlantico

Guida dettagliata e implementazione Python per il problema del "flusso dell'acqua nell'Atlantico del Pacifico".

Dichiarazione del problema

Facile

C'è un'isola rettangolare m x n che confina sia con l'Oceano Pacifico che con l'Oceano Atlantico. L'Oceano Pacifico tocca i bordi sinistro e superiore dell'isola, mentre l'Oceano Atlantico tocca i bordi destro e inferiore dell'isola.

L'isola è suddivisa in una griglia di celle quadrate. Ti viene data una matrice intera m x n altezze dove altezze[r][c] rappresenta l'altezza sopra il livello del mare della cella alle coordinate (r, c).

L'acqua piovana può fluire verso le celle vicine direttamente a nord, sud, est e ovest se l'altezza della cella vicina è inferiore o uguale all'altezza della cella corrente. L'acqua può fluire da qualsiasi cella adiacente ad un oceano in quell'oceano.

Restituisce un elenco 2D di coordinate della griglia risultato dove risultato[i] = [ri, ci] denota che l'acqua piovana può fluire dalla cella (ri, ci) sia all'oceano Pacifico che all'oceano Atlantico.

Scrivi una funzione pacificAtlantic(heights: List[List[int]]) -> List[List[int]].

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Graphs come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'editor
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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.