Çıkarma ile Her Aralığı Toplama
range[l..r] sorgusunu sabit zamanda yanıtlayın.
Çıkarma ile Her Aralığı Toplama, CoddyKit'te ücretsiz bir Coding Interview Prep dersidir. Bu, 4 dersinin 2. 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, Coding Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Coding Interview Prep kursu toplamda 4 dersten oluşur.
Asıl Kazanç
Önek toplamı dizisini oluşturmak hazırlık aşamasıydı. Şimdi asıl sihir geliyor: herhangi bir aralık toplamını tek bir çıkarma işlemiyle yanıtlamak. ⚡
Temel Fikir
Bir aralık toplamı, büyük bir toplamdan küçük bir toplamın çıkarılmasından ibarettir. İki önek değerini çıkarmak, aralığınızın dışındaki her şeyi düzenli biçimde yok eder.
Formül
l ile r arasındaki öğeleri toplamak için prefix[r + 1] değerinden prefix[l] değerini çıkarın. Bu tek formül her aralık için çalışır.
range_sum = prefix[r + 1] - prefix[l]Nasıl Çalışır
prefix[r + 1], r'ye kadar olan her şeyi; prefix[l] ise l'den önceki her şeyi içerir. Fark alındığında tam olarak ortadaki bölüm kalır.
Uygulamalı Bir Örnek
[3, 1, 4] için prefix değeri [0, 3, 4, 8] olur. 1 ile 2 arasındaki dizinleri toplamak için 8'den 3 çıkarın; sonuç 5 olur. Bu da 1 artı 4 değerine eşittir.
Sabit Zamanlı Sorgular
Her query yalnızca bir çıkarma işleminden oluştuğu için O(1) zamanda çalışır. Bin query için sorgu başına gereken süre, tek bir query ile aynıdır.
Bir Eksik-Bir Fazlaya Dikkat Edin
En sık yapılan hata, üst uçtaki dizindir. Baştaki sıfırla birlikte her zaman prefix[r + 1] kullanın; prefix[r] kullanmayın. Bu sınırı kontrol edin.
Dahil ve Hariç
r'nin dahil edilip edilmediğine erkenden karar verin. Bu formül, aralığı hem l hem de r'yi dahil edecek şekilde ele alır; yarışma problemlerinin çoğu da bunu bekler.
Bir İşlevin İçine Alın
Küçük bir yardımcı işlev, mantığınızı okunabilir ve dizinlerinizi tek bir yerde tutar. Matematiği satır içine yazmak yerine bu yardımcı işlevden yararlanın.
def query(l, r):
return prefix[r + 1] - prefix[l]Dizinin Tamamını Ele Alın
Dizinin tamamını toplamak için l değerini 0, r değerini n eksi 1 olarak belirleyin. Formül, genel toplam olan prefix[n] değerini verir.
En Çok Nerede İşe Yarar
Sabit bir dizi üzerinde çok sayıda aralık toplamı sorusu sorulan her problemde, prefix toplamları query başına O(n) süren döngüyü anında alınan yanıtlara dönüştürür.
Hızlı Kontrol
l ile r arasındaki dizinlerin toplamını, r dahil olacak şekilde istiyorsunuz.
Özet
Artık prefix[r + 1] eksi prefix[l] ile her aralık toplamını O(1) zamanda hesaplayabilirsiniz. Baştaki sıfırın oluşturduğu kaymaya dikkat ederseniz hatasız çalışırsınız. ✅
Sıkça Sorulan Sorular
“Çıkarma ile Her Aralığı Toplama” dersi ücretsiz mi?
Evet — “Çıkarma ile Her Aralığı Toplama” 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 Coding Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Coding Interview Prep kursu toplamda 4 dersten oluşur.
“Çıkarma ile Her Aralığı Toplama” dersinde ne öğreneceğim?
range[l..r] sorgusunu sabit zamanda yanıtlayın. Coding Interview Prep 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.
Coding Interview Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Coding Interview Prep, 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 2. dersidir.
“Çıkarma ile Her Aralığı Toplama” 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 Coding Interview Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Coding Interview Prep 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
- Önek Toplam Dizisi Oluşturma
- Çıkarma ile Her Aralığı Toplama
- Hedef Toplamlı Alt Dizileri Sayma
- Aralık Güncellemeleri için Fark Dizileri