Menu
CoddyTech

Container With Most Water

Sana negatif olmayan tam sayılardan oluşan bir height listesi veriliyor. i. çizgi, 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 ç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ı konumlarındaki satırların yükseklikleri
Döndürürinteger
iki çizginin tutabileceği en fazla su

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 çizgilerin yükseklikleri 7 ve 6'dır ve aralarında 6 birim mesafe vardır; bu nedenle 6 × 6 = 36 tutarlar. En yüksek iki çizgi olan 1. ve 5. konumlardaki 7'ler ise yalnızca 7 × 4 = 28 tutar ve en dıştaki çift 3 × 7 = 21 tutar.

lock iconGönderirken +15 gizli test

challenge icon

Ek soru

Burada, seçtiğin iki çizgi arasındaki çizgiler yok sayılır. Her çizgi dolu bir çubuk olsaydı, hepsinin arasında ne kadar su birikirdi? Bunu da O(n) zamanda hesaplayabilir misin?

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

Durum 1

Durum 2

Girdi

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

Beklenen

36