Intermediate·Concept·2 min read

Dynamic programming in C#

Practice this question

Problems to practice

  • Climbing Stairs
  • House Robber
  • Coin Change
  • Unique Paths
  • Longest Increasing Subsequence
  • Word Break
  • Partition Equal Subset Sum

Example: climbing stairs

csharp
public int ClimbStairs(int n) {
    if (n <= 1) return 1;
    int[] dp = new int[n + 1];
    dp[0] = 1;
    dp[1] = 1;

    for (int i = 2; i <= n; i++) {
        dp[i] = dp[i - 1] + dp[i - 2];
    }

    return dp[n];
}

Adapted from 17_DSA_DOTNET.md · “10. Dynamic programming in C#”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.