En İyi 150 RöportajKolay

Pasifik Atlantik Su Akışı

'Pasifik Atlantik Su Akışı' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Hem Pasifik Okyanusu'nu hem de Atlantik Okyanusu'nu çevreleyen m x n dikdörtgen şeklinde bir ada vardır. Pasifik Okyanusu adanın sol ve üst kenarlarına, Atlantik Okyanusu ise adanın sağ ve alt kenarlarına dokunmaktadır.

Ada kare hücrelerden oluşan bir ızgaraya bölünmüştür. Size bir m x n tamsayı matrisi yüksekliği veriliyor; burada yükseklikler[r][c], (r, c) koordinatındaki hücrenin deniz seviyesinden yüksekliğini temsil ediyor.

Komşu hücrenin yüksekliği mevcut hücrenin yüksekliğinden az veya ona eşitse yağmur suyu komşu hücrelere doğrudan kuzeye, güneye, doğuya ve batıya akabilir. Su, okyanusa bitişik herhangi bir hücreden o okyanusa akabilir.

Sonuç[i] = [ri, ci], yağmur suyunun (ri, ci) hücresinden hem Pasifik hem de Atlantik okyanuslarına akabileceğini belirtir.

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

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

Örnekler

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?
Kümeler veya yığınlar gibi Graphs'a ö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.