Menu
CoddyTech

Container With Most Water

Negatif olmayan tam sayılardan oluşan bir height listesi alırsın. i çizgisi, i konumunda duran ve yüksekliği height[i] olan dikey bir duvardır. Herhangi iki çizgi zeminle birlikte bir kap oluşturur ve bu kap, kısa olan çizginin yüksekliği ile iki çizgi arasındaki mesafenin çarpımı kadar su tutar. Diğer çizgiler engel olmaz. Tek bir çizgi çiftinin tutabileceği en fazla su miktarını döndür.

Fonksiyon

maxArea(height: integer-array) → integer
heightinteger-array
0, 1, 2 ve devamındaki konumlardaki çizgilerin yükseklikleri
Döndürürinteger
iki çizginin tutabileceği en fazla su miktarı

Kısıtlar

  • 2 ≤ height.length ≤ 104
  • 0 ≤ height[i] ≤ 104
  • Yanıt en fazla 108 olduğundan 32 bitlik bir tamsayıya sığar.

Örnekler

Girdi
height = [3, 7, 2, 5, 4, 7, 3, 6]
Çıktı
36
Açıklama
1 ve 7. konumlardaki, yükseklikleri 7 ve 6 olan çizgiler arasında 6 birim vardır ve 6 × 6 = 36 su tutarlar. En uzun iki çizgi olan 1 ve 5. konumlardaki 7'ler ise yalnızca 7 × 4 = 28 su tutar.
challenge icon

Ek soru

Burada, iki çizginizin arasındaki çizgiler yok sayılır. Her çizgi düz bir çubuk olsaydı, aralarında toplam ne kadar su birikirdi? Bunu O(n) zamanda da hesaplayabilir misin?

Kodu sıfırla
def maxArea(height):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

height = [3, 7, 2, 5, 4, 7, 3, 6]

Beklenen Çıktı

36