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

İki Boyutlu DP

Rehber 1 / 6 · Yol 1 / 6

Etkileşimli

Zihinsel model

Bu problem için animasyonlu çözüm. Adımları kaydır veya boşlukla duraklat; değişmezi yüksek sesle yeniden anlat.

Adım 1 / 6
1
1
1
1
?
?
1
?
?

dp[r][c] = up + left

3×3 ızgarada benzersiz yollar. Yalnızca sağ veya aşağı. İlk satır ve sütun 1.

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

Unique Paths

Problem (yeniden ifade)

m×n ızgaranın sol üstündeki robot yalnızca sağa veya aşağı gidebilir. Sağ alta kaç yol vardır?

Sezgi

dp[r][c] = üstten + soldan; kenarlar 1.

Yaklaşımlar

2B DP

Doğrulanmadı
Zaman O(m*n)Alan O(n)

Fikir. Tek satır kaydır; dp[c] += dp[c-1].

Adım adım. m=3,n=7 → 28.

Ödünleşimler. Kombinasyon C(m+n-2,m-1) de çalışır.

Çözüm
export function uniquePaths(m: number, n: number): number {
  const dp = new Array<number>(n).fill(1);
  for (let r = 1; r < m; r++) {
    for (let c = 1; c < n; c++) dp[c] = dp[c]! + dp[c - 1]!;
  }
  return dp[n - 1]!;
}
export function uniquePaths(m: number, n: number): number {
  const dp = new Array<number>(n).fill(1);
  for (let r = 1; r < m; r++) {
    for (let c = 1; c < n; c++) dp[c] = dp[c]! + dp[c - 1]!;
  }
  return dp[n - 1]!;
}

Şablon bağlantısı

İki boyutlu DP ızgarası.

Yansıma