从零开始的LeetCode刷题日记:70. 爬楼梯

一.相关链接

题目链接: 70. 爬楼梯

二.心得体会

这道题还是动规五部曲。

1.首先是dp数组及其下标的含义,dp记录了每层楼梯对应的爬的方法,每个下标存储每个对应楼层。

2.然后是递归公式,其实每一层楼都是可以从下面一层和下面两层爬上来,所以其实就是dpi = dpi - 1 + dpi - 2

3.dp数组初始化就把第一层初始化为1,第二层为2。

4.遍历顺序是从前往后。

5.具体推导出来没问题,就是斐波那契!

三.代码
cpp 复制代码
class Solution {
public:
    int climbStairs(int n) {
        int ans[46] = {0};
        ans[2] = 2;
        ans[1] = 1;
        for(int i=3;i<n+1;i++) {
            ans[i] = ans[i-1] + ans[i-2];
        }
        return ans[n];
    }
};
相关推荐
月疯14 分钟前
二分法算法(水平等分图形面积)
算法
豆瓣鸡26 分钟前
算法日记 - Day3
java·开发语言·算法
白白白小纯38 分钟前
算法篇—反转链表
c语言·数据结构·算法·leetcode
Achou.Wang1 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
The Chosen One9851 小时前
高进度算法模板速记(待完善)
java·前端·算法
圣保罗的大教堂3 小时前
leetcode 3517. 最小回文排列 I 中等
leetcode
土豆.exe4 小时前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
黄河123长江4 小时前
有限Abel群的结构()
算法
阿米亚波4 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
Jerry5 小时前
LeetCode 92. 反转链表 II
算法