İçeriğe atla
ΣDSA Patterns
Menü
Dil

Tek Boyutlu DP

Rehber 1 / 6 · Yol 1 / 6

Demo önizleme: Bu çözümler otomatik test paketini geçiyor ama insan tarafından incelenmedi. Trade-off ve yazıları taslak olarak değerlendirin.

Climbing Stairs

Problem (yeniden ifade)

1 veya 2 basamak çıkabilirsin. n basamağın tepesine kaç farklı yolla ulaşılır?

Sezgi

ways(n) = ways(n-1) + ways(n-2). Kaydıran değişkenlerle Fibonacci.

Yaklaşımlar

1B DP

Tested only
Time O(n)Space O(1)

Fikir. dp[i] = dp[i-1] + dp[i-2]; yalnızca önceki iki değeri tut.

Adım adım. n=3 → 3 yol: 1+1+1, 1+2, 2+1.

Ödünleşimler. Kapalı form mümkün ama DP mülakatta net.

Solution
export function climbStairs(n: number): number {
  if (n <= 2) return n;
  let a = 1, b = 2;
  for (let i = 3; i <= n; i++) {
    const c = a + b;
    a = b;
    b = c;
  }
  return b;
}
export function climbStairs(n: number): number {
  if (n <= 2) return n;
  let a = 1, b = 2;
  for (let i = 3; i <= n; i++) {
    const c = a + b;
    a = b;
    b = c;
  }
  return b;
}

Şablon bağlantısı

Tek boyutlu DP doğrusal yineleme.

Yansıma