Staircase Problems Variations
152
May 20, 2022

https://leetcode.com/problems/climbing-stairs/

class Solution {
public:
    int climbStairs(int n) 
    {
        int dp[n+1];
        for(int i=0;i<=n;i++)dp[i]=0;
        dp[0]=0;
        dp[1]=1;
        // dp[2]=2;
        if(n==1)return 1;
        if(n==2)
        {
            return 2;
        }
        dp[2]=2;
        
        for(int i=3;i<=n;i++)
        {
            for(int j=1;j<=2;j++)
            {
                dp[i]+= dp[i-j];
            }
        }
        return dp[n];
    }
};

https://leetcode.com/problems/min-cost-climbing-stairs/

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) 
    {
        int n = cost.size();
        int dp[n+1];
        
        dp[0] = cost[0];
        dp[1] = cost[1];
        
        for(int i=2;i<n;i++)
        {
            dp[i] = cost[i] + min(dp[i-1] , dp[i-2]);
        }
       return min(dp[n-1],dp[n-2]);
    }
};
Comments (0)