0Pricing
Coding Interview Prep · Ders

Kesişen Aralıkları Birleştirme

Temas eden veya kesişen aralıkları birleştirin.

Kesişen Aralıkları Birleştirme, 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.

Birleştirme Hedefi

Çok sayıda aralık verildiğinde, birbirine değen veya örtüşen aralıkları mümkün olan en az sayıda çakışmayan aralıkta birleştirmek istersiniz. 🧩

İki Aralık Ne Zaman Örtüşür

İki aralık, biri diğerinin bitişinden önce başlıyorsa örtüşür. Başlangıca göre sıralandıktan sonra bu, bir sonraki başlangıcın mevcut bitişten küçük veya ona eşit olması demektir.

Önce Sıralayın, Her Zaman

Aralıklar sıralı değilse birleştirme yalnızca soldan sağa çalışmaz; bu nedenle önce onları başlangıca göre sıralayarak başlayın. Tüm taramanın temeli budur.

intervals.sort(key=lambda x: x[0])

Mevcut Bir Aralık Tutun

Sıralanmış liste üzerinde ilerlerken bir adet mevcut birleştirilmiş aralık tutun. Her yeni aralık ya bunu genişletir ya da yeni bir aralık başlatır.

Örtüşmede Genişletin

Bir sonraki başlangıç mevcut aralığın içindeyse aralıklar örtüşür; bu nedenle mevcut bitişi iki bitişten daha büyük olanına uzatın.

cur_end = max(cur_end, end)

En Büyük Bitişi Alın

Yeni bitiş için her zaman en büyük değeri kullanın. Uzun bir aralığın içinde kalan kısa bir aralık, oluşturduğunuz aralığı küçültmemelidir.

Kapatın ve Yenisine Başlayın

Bir sonraki başlangıç mevcut bitişi geçiyorsa arada bir boşluk vardır. Tamamlanan aralığı cevabınıza ekleyin ve yeni bir mevcut aralık başlatın.

result.append([cur_start, cur_end])

Son Aralığı Unutmayın

Döngü son aralığı oluşturur ama onu hiçbir zaman eklemez. Döngü bittikten sonra kaybolmaması için son mevcut aralığı append edin.

Temas Etmek Örtüşme Sayılır

[1, 3] ve [3, 5] aralıklarının birleştirilmesi gerekip gerekmediğine karar verin. Genellikle birleştirilirler; bu nedenle start <= cur_end kullanın. Bu sınır kuralını doğrulamak için soruyu okuyun.

Tam Tarama

sort işleminden sonra yapılan tek geçiş, birleştirilmiş tüm aralıkları verir; böylece yöntemin tamamı, sort işleminden gelen O(n log n) ile doğrusal taramanın toplamı olarak çalışır.

for s, e in intervals[1:]:
    if s <= cur_end:
        cur_end = max(cur_end, e)
    else:
        result.append([cur_start, cur_end]); cur_start, cur_end = s, e

Yaygın Bir Kullanım

Aralıkları birleştirmek, takvim ve rezervasyon sistemlerinin temelini oluşturur: yoğun zaman bloklarını birleştirerek gerçek boş zamanı görün. Birçok yarışma sorusu aynı yapıyı gizler.

Hızlı Kontrol

Aralıkları başlangıca göre sort ettikten sonra birleştirirsiniz.

Özet

Başlangıca göre sort edin, geçerli bir aralık tutun ve örtüşmede maksimum değerle genişletin; aralıkta boşluk varsa ekleyip sıfırlayın. Son append işlemini unutmayın. 🚀

Sıkça Sorulan Sorular

“Kesişen Aralıkları Birleştirme” dersi ücretsiz mi?

Evet — “Kesişen Aralıkları Birleştirme” 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.

“Kesişen Aralıkları Birleştirme” dersinde ne öğreneceğim?

Temas eden veya kesişen aralıkları birleştirin. 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.

“Kesişen Aralıkları Birleştirme” 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

  1. Aralıkları Başlangıca Göre Sıralama
  2. Kesişen Aralıkları Birleştirme
  3. Maksimum Kesişim için Doğru Süpürme
  4. Kesişmeme için Minimum Silme
← Coding Interview Prep Sayfasına Dön