En İyi 150 RöportajKolay

Yükselen Suda Yüzmek

'Yükselen Suda Yüzmek' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Size bir n x n tamsayı matris ızgarası veriliyor; burada her bir değer ızgarası[i][j] o noktadaki (i, j) yüksekliği temsil ediyor. Yağmur yağmaya başlar. T anında suyun derinliği her yerde t'dir. Bir kareden 4 yönlü komşu başka bir kareye ancak ve ancak karelerin her iki yüksekliğinin de en fazla t olması durumunda yüzebilirsiniz.

Sol üst kareden başlarsınız (0, 0). Sağ alt kareye (n-1, n-1) ulaşana kadar geçen en az süre nedir?

swimInWater(grid: List[List[int]]) -> int adlı bir işlev yazın.

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

Örnekler

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?
Kümeler veya yığınlar gibi Gelişmiş Grafiklere özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.