İçeriğe atla
CodeItRaw
Sıralama

Ders 4/5

Bir değer listenin yarısından fazlasını kaplıyorsa, liste sıralandığında tam ortadaki eleman mutlaka odur: yarıdan uzun bir blok, nereye yerleşirse yerleşsin ortayı kapsar. Bazı sorular sıraladıktan sonra tek bir indekse bakmaya iner.

ordered = sorted(scores, reverse=True)
rank = 0
while rank < len(ordered) and ordered[rank] > rank:
rank += 1
return rank
Büyükten küçüğe sıralayıp "kaçıncı sıradayım" ile "değerim kaç" sorularını karşılaştırmak: değeri sırasından büyük olan elemanları sayar. H-indeks gibi "en az h tanesi en az h" biçimindeki tanımlar böyle okunur.

Sıralamak her zaman en hızlı yol değildir ama neredeyse her zaman en kolay doğru yoldur. Önce sıralayarak çöz ve geçtiğini gör; sonra "sıralamadan, tek geçişte yapabilir miyim?" diye sor. Çoğunluk elemanı için cevap evettir: bir aday ve bir sayaç yeter.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Çoğunluk

    Fonksiyon

  2. 02

    Çoğunluk

    Kod Okuma · Kodu Boz

  3. 03

    H-İndeksi

    Fonksiyon

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi