n merdiven basamağı var. Her adımda 1 veya 2 basamak çıkabilirsin.
Kaç farklı yol var? (Dinamik programlama)
İpuçları
💡 İpucu 1: Bu aslında Fibonacci dizisi! dp[1]=1, dp[2]=2
💡 İpucu 2: dp[i] = dp[i-1] + dp[i-2] (bir önceki veya iki önceki basamaktan gelir)
💡 İpucu 3: Hafıza optimizasyonu için yalnızca son iki değeri tut.
Yaklaşım & Açıklama
**Kaplama Problemi** sorusu, **Algoritmalar** kategorisinde **intermediate** seviye bir mülakat sorusudur.
**Problem:** n merdiven basamağı var. Her adımda 1 veya 2 basamak çıkabilirsin.
**Yaklaşım:**
```python
def climb_stairs(n: int) -> int:
# ...implementasyon...
```
**Kategori ipuçları (Algoritmalar):**
- arama bilgisi temel
- Tipik çözüm 5-15 satır Python kodu içerir
- Test senaryoları genelde 2-3 edge case içerir
**Neden bu soru:**
Intermediate seviye mülakatlarda algoritmalar bilgisi sınanır. Benzer sorular aynı kategoride komşu ID'lerde bulunur (related_question_ids).
**Pratik tavsiye:**
- Önce brute-force çöz, sonra optimize et
- Algoritma sorularında time complexity'yi düşün (O(n), O(n²), O(log n))
- Test case'leri dikkatle oku, edge case ipucu taşır