Top 150 des entrevuesFacile

Débit d'eau de l'Atlantique Pacifique

Guide détaillé et implémentation de Python pour le problème « Débit d'eau dans l'Atlantique Pacifique ».

Énoncé du problème

Facile

Il existe une île rectangulaire m x n qui borde à la fois l’océan Pacifique et l’océan Atlantique. L'océan Pacifique touche les bords gauche et supérieur de l'île, et l'océan Atlantique touche les bords droit et inférieur de l'île.

L'île est divisée en une grille de cellules carrées. Vous recevez une matrice entière m x n de hauteurs où heights[r][c] représente la hauteur au-dessus du niveau de la mer de la cellule à la coordonnée (r, c).

L'eau de pluie peut s'écouler vers les cellules voisines directement au nord, au sud, à l'est et à l'ouest si la hauteur de la cellule voisine est inférieure ou égale à la hauteur de la cellule actuelle. L'eau peut s'écouler de n'importe quelle cellule adjacente à un océan vers cet océan.

Renvoie une liste 2D de coordonnées de grille où result[i] = [ri, ci] indique que l'eau de pluie peut s'écouler de la cellule (ri, ci) vers les océans Pacifique et Atlantique.

Écrivez une fonction pacificAtlantic(heights: List[List[int]]) -> List[List[int]].

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Graphs, telles que des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.