Meydan okuma 4
- Algoritmalar kursu
- Başlangıç
- Ders 80/80
- 4 dk
Recursive faktöryel hesaplayıp sonucu yazdırırsın.
Meydan okuma 4: Hash table ile sayaç
Bu meydan okumada hash table (dict) kullanarak bir dizideki elemanların frekansını sayacaksın.
Dizi: [1, 2, 2, 3, 3, 3]. Sonuç: {1: 1, 2: 2, 3: 3}. Her elemanı dict'te say.
Uygulama Frekans say
count_freq(arr) yaz. Dict ile her elemanın frekansını say, en sık elemanı yazdır. count_freq([1,2,2,3,3,3]) çağrısı 3 yazsın.
Başlangıç kodu
def count_freq(arr):
# Frekans sayÖrnek çözüm
def count_freq(arr):
# Frekans say
freq = {}
for x in arr:
if x in freq:
freq[x] = freq[x] + 1
else:
freq[x] = 1
max_key = arr[0]
for k in freq:
if freq[k] > freq[max_key]:
max_key = k
print(max_key)
count_freq([1, 2, 2, 3, 3, 3])Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi veri yapısı frekans saymak için uygundur?
- Queue
- Hash table Doğru cevap
- Stack
- Dizi
Açıklama: Hash table frekans saymak için uygundur.
2 Meydan okuma 4: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
dict |
Anahtar-değer |
frekans |
Sayım |
count |
Artır |
for |
Gez |