150 principais entrevistasFácil

Fluxo de água do Pacífico Atlântico

Guia detalhado e implementação de Python para o problema do 'Fluxo de Água do Pacífico Atlântico'.

Declaração do problema

Fácil

Existe uma ilha retangular m x n que faz fronteira com o Oceano Pacífico e o Oceano Atlântico. O Oceano Pacífico toca as bordas esquerda e superior da ilha, e o Oceano Atlântico toca as bordas direita e inferior da ilha.

A ilha é dividida em uma grade de células quadradas. Você recebe uma matriz inteira m x n de alturas, onde heights[r][c] representa a altura acima do nível do mar da célula na coordenada (r, c).

A água da chuva pode fluir para as células vizinhas diretamente ao norte, sul, leste e oeste se a altura da célula vizinha for menor ou igual à altura da célula atual. A água pode fluir de qualquer célula adjacente a um oceano para esse oceano.

Retorna o resultado de uma lista 2D de coordenadas de grade onde resultado[i] = [ri, ci] denota que a água da chuva pode fluir da célula (ri, ci) para os oceanos Pacífico e Atlântico.

Escreva uma função pacificAtlantic(heights: List[List[int]]) -> List[List[int]].

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

Exemplos

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?
Considere usar estruturas de dados específicas de gráficos, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.