动态规划(斐波那契系列)---爬楼梯

Posted yjxyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态规划(斐波那契系列)---爬楼梯相关的知识,希望对你有一定的参考价值。

动态规划

??递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保留了子问题的解,避免了重复计算。

爬楼梯

70. Climbing Stairs (Easy)

题目描述:

??有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。

思路分析:

??定义一个dp数组存储上楼梯的方法数,dp[i]表示走到第i层楼的方法数,第i层楼梯可以从第i-1层和i-2个楼梯再走一步到达。那么走到第i层楼梯的方式为走到第i-1层的方式和第i-2层的方式和。

dp[ i ]=dp[i-1]+dp[i-2]

代码:

class Solution 
    public int climbStairs(int n)
    int []dp=new int[n+1];
    if(n==1)
        return 1;
    if(n==2)
        return 2;
    dp[1]=1;
    dp[2]=2;
    for(int i=3;i<=n;i++)
        dp[i]=dp[i-1]+dp[i-2];
    
    return dp[n];

以上是关于动态规划(斐波那契系列)---爬楼梯的主要内容,如果未能解决你的问题,请参考以下文章

代码随想录|day38|动态规划part01● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

LeetCode日记——算法动态规划专题——斐波那契数列

leetcode专项 动态规划入门

leetcode专项 动态规划入门

leetcode专项 动态规划入门

数据结构刷题(二十八):509斐波那契数70爬楼梯746 使用最小花费爬楼梯