0
点赞
收藏
分享

微信扫一扫

LeetCode 70. 爬楼梯

Java架构领域 2022-04-05 阅读 47

题目链接:

力扣icon-default.png?t=M276https://leetcode-cn.com/problems/climbing-stairs/

【分析】经典的DP问题,上第n个台阶的方式为从n-1上1个或者从n-2上两个,所以dp[n] = dp[n - 1] + dp[n - 2],而dp[0] = dp[1] = 1,所以后面就可以根据递推式来了。

class Solution {
    public int climbStairs(int n) {
        int[] ans = new int[46];
        ans[0] = ans[1] = 1;
        for(int i = 2; i <= n; i++) ans[i] = ans[i - 2] + ans[i - 1];
        return ans[n];
    }
}
class Solution:
    def climbStairs(self, n: int) -> int:
        ans = [1, 1]
        for i in range(2, n + 1):
            ans.append(ans[i - 2] + ans[i - 1])
        return ans[n]

 

 

举报

相关推荐

0 条评论