0Pricing
Competitive Programming Academy · Ders

Min, Max, Sum ve Birikimli Toplamlar

Bir listeyi tek geçişte birleştirin.

Min, Max, Sum ve Birikimli Toplamlar, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

Tek Geçişte Toplayın

Birçok problem bir diziden yalnızca tek bir sayıya ihtiyaç duyar. Python'ın yerleşik işlevleri bu toplama işlemini liste üzerinde hızlı bir geçişte yapar.

a = [4, 1, 7, 3]

Toplamı Hesaplayın

sum(a) her öğeyi toplar ve toplamı döndürür. C hızında çalıştığı için kendi toplama döngünüzü yazmak yerine bunu tercih edin.

total = sum(a)  # 15

En Küçük ve En Büyük

min(a) ve max(a) en küçük ve en büyük değerleri döndürür. Listenin tamamını O(n) zamanda bir kez tararlar.

lo, hi = min(a), max(a)

İki Sayıyı Karşılaştırın

min ve max ayrıca ayrı bağımsız değişkenler de alır. max(x, y), önce bir liste oluşturmadan iki değerden büyük olanı seçer.

best = max(score, best)

Bir Anahtarla Toplayın

Türetilmiş bir değere göre karşılaştırmak için bir anahtar işlevi verin. max(words, key=len), sözlükbilimsel olarak en büyük sözcüğü değil, en uzun sözcüğü döndürür.

longest = max(words, key=len)

Boş Listeyi Denetleyin

min ve max boş listede hata verir. Çalışma zamanı hatasından kaçınmak için default= verin veya önce uzunluğu kontrol edin.

hi = max(a, default=0)

Birikimli Toplam Fikri

Birikimli toplam, dizi boyunca ilerlerken toplamı güncel tutar. Ön ek toplamlarının ve birçok sayma tekniğinin temelini oluşturur.

run = 0
for x in a:
    run += x

Şimdiye Kadarki En İyiyi İzleyin

Tek bir geçişte maksimum alt dizi türü soruları yanıtlamak için tarama sırasında şimdiye kadarki en iyi değişkenini taşıyın.

best = a[0]
for x in a:
    best = max(best, x)

Bir Ön Ek Listesi Oluşturun

Bir ön ek dizisi elde etmek için her birikimli toplamı bir listede saklayın. Daha sonra iki girdiyi çıkararak aralık toplamlarını hesaplayabilirsiniz.

pre = [0]
for x in a:
    pre.append(pre[-1] + x)

accumulate Kısayolu

itertools.accumulate birikimli toplamları sizin için üretir; böylece ön ek dizisi güvenle kullanabileceğiniz tek satırlık bir çözüme dönüşür.

from itertools import accumulate
pre = list(accumulate(a))

Taşma Hakkındaki Yanılgılara Dikkat Edin

İyi haber: Python tam sayıları sınırsızdır, bu nedenle büyük toplamlar hiçbir zaman taşmaz. Asıl risk yanlış aritmetik değil, yavaş koddur.

huge = sum(range(10**6))  # fine

Hızlı Kontrol

Bir listedeki en uzun sözcüğü bulmanız gerekiyor. Hangi çağrı doğrudur?

Özet: Tek Geçişin Gücü

Artık tek bir taramada toplam alabilir, uç değerleri bulabilir ve birikimli toplamları taşıyabilirsiniz. Bu toplama işlemleri, birçok dizi problemini tek bir döngüye dönüştürür. ✨

Sıkça Sorulan Sorular

“Min, Max, Sum ve Birikimli Toplamlar” dersi ücretsiz mi?

Evet — “Min, Max, Sum ve Birikimli Toplamlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

“Min, Max, Sum ve Birikimli Toplamlar” dersinde ne öğreneceğim?

Bir listeyi tek geçişte birleştirin. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Min, Max, Sum ve Birikimli Toplamlar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. CP için Listeler, İndeksleme ve Dilimleme
  2. Liste Kavramalarıyla Dizileri Hızla Oluşturma
  3. Min, Max, Sum ve Birikimli Toplamlar
  4. Yalnızca Değeri Değil, İndeksi de Bulma
← Competitive Programming Academy Sayfasına Dön