Climbing Stairs

PHOTO EMBED

Wed May 22 2024 11:48:03 GMT+0000 (Coordinated Universal Time)

Saved by @ayushg103 #c++

 const int N = 1e5;
        vector<int> dp(N,-1);
class Solution {
public:
    int climbStairs(int n) {
       
        if(n==1)return 1;
        if(n==2)return 2;
        if(dp[n]!=-1)return dp[n];
        return dp[n]=climbStairs(n-1)+climbStairs(n-2);
      }
};
content_copyCOPY

Dont make DP vector inside function else there will not be any use of dp because each time function is called through recursion dp vector sets to default value; class Solution { public: int climbStairs(int n) { const int N = 1e5; vector<int> dp(N,-1); if(n==1)return 1; if(n==2)return 2; if(dp[n]!=-1)return dp[n]; return dp[n]=climbStairs(n-1)+climbStairs(n-2); } };