【代码随想录day 32】 力扣 70.爬楼梯
视频讲解:https://www.bilibili.com/video/BV17h411h7UH/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0070.%E7%88%AC%E6%A5%BC%E6%A2%AF.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
力扣题目:https://leetcode.cn/problems/climbing-stairs/
这道题目要理解清楚,爬i阶的方法等于爬i-1阶+爬i-2阶,因为i-1阶的方法再走一步就到了,i-2阶的方法再走两步就到了,所以本质上就是个斐波那契数列。
class Solution {
public:int climbStairs(int n) {int jie1;int jie2;int jie3;//初始化1阶2阶情况jie1 = 1;jie2 = 2;//剪枝if(n == 1 ){return 1;}if(n == 2){return 2;}//从3阶开始dp[i]表示i+1阶所需的方法for(int i = 2; i < n; ++i){jie3 = jie1 + jie2;jie1 = jie2;jie2 = jie3;}return jie3;}
};