Entrevista a los 150 mejoresfácil

Nadar en agua creciente

Guía detallada e implementación de Python para el problema 'Nadar en agua creciente'.

Declaración del problema

fácil

Se le proporciona una cuadrícula de matriz de números enteros n x n donde cada cuadrícula de valores [i] [j] representa la elevación en ese punto (i, j). La lluvia comienza a caer. En el momento t, la profundidad del agua en todas partes es t. Puedes nadar de un cuadrado a otro cuadrado adyacente en 4 direcciones si y solo si ambas elevaciones en los cuadrados son como máximo t.

Comienzas en el cuadrado superior izquierdo (0, 0). ¿Cuál es el mínimo tiempo hasta que puedas llegar al cuadro inferior derecho (n-1, n-1)?

Escribe una función swimInWater(grid: List[List[int]]) -> int.

Restricciones
  • n == len(grid) == len(grid[i])
  • 1 <= n <= 50
  • 0 <= grid[i][j] < n^2
  • Each value grid[i][j] is unique

Ejemplos

Example 1
Input
grid = [[0,2],[1,3]]
Output
3
Explanation

At time 3, you are permitted to swim all the way from (0,0) to (1,1). The path is 0 -> 1 -> 3.

Example 2
Input
grid = [[0,1,2,3,4],[24,23,22,21,5],[12,13,14,15,16],[11,17,18,19,20],[10,9,8,7,6]]
Output
16
Explanation

The final path is 0-1-2-3-4-5-16-15-14-13-12-11-10-9-8-7-6. The maximum height along this path is 16.

Need a Hint?
Considere el uso de estructuras de datos específicas de Advanced Graphs, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el 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 recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.