İçeriğe atla
CodeItRaw
Sıralama

Ders 3/5

Sıralamanın en büyük hediyesi şudur: birbirine en yakın değerler yan yana gelir. "Hangi iki sayı birbirine en yakın?" sorusu sırasız listede her çifti denemeyi gerektirir (n × n); sıraladıktan sonra yalnızca komşulara bakarsın (n).

ordered = sorted(values)
best = ordered[1] - ordered[0]
for i in range(2, len(ordered)):
best = min(best, ordered[i] - ordered[i - 1])
return best
Sıralı listede fark hep "sağdaki eksi soldaki"dir, bu yüzden mutlak değere gerek kalmaz. Başlangıç değeri listeden gelen gerçek bir farktır; uydurma büyük bir sayı değil.

Sıralı listede bazı cevaplar doğrudan bir konumdadır: en küçük başta, en büyük sonda, ortanca ortada. En büyük fark (uçlar arası) için sıralamaya bile gerek yoktur: en büyük eksi en küçük, tek geçişte bulunur.

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

    En Yakın İkili

    Fonksiyon

  2. 02

    En Büyük Fark

    Kod Okuma · Kodu Boz

  3. 03

    Ortanca

    Kod Okuma · Kodu Boz

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