Leetcode 70.爬楼梯

心路历程:

这道题是之前学院的一道复试题,大家都没怎么刷过算法题,只记得当年凭借几次试错自己把这道题做出来了,当时也不知道动态规划之类的。

正常来讲,这种找不到循环结构的题一般都是递归解决。

注意的点:

1、注意返回值种加号的含义

解法:动态规划

python 复制代码
class Solution:
    def climbStairs(self, n: int) -> int:
        # dp
        @cache  # 不加这个装饰器甚至无法AC
        def dfs(i):
            if i <= 2:
                return i
            return dfs(i-1) + dfs(i-2)
        return dfs(n)
相关推荐
Lumbrologist17 小时前
【C++】零基础入门 · 第 3 节:条件判断(if、switch)
开发语言·c++·算法
codealy17 小时前
Rust 核心理论: 高并发与异步(四)
算法·rust
yh弓长17 小时前
算法积累笔记
java·算法
-To be number.wan17 小时前
算法日记 | C++ 结构体
数据结构·学习·算法
xier_ran17 小时前
【infra之路】从“三堵叹息之墙”到异构计算的狂飙
开发语言·c++·算法
头歌实践平台17 小时前
LL(1)文法分析
算法
计算机安禾17 小时前
【算法分析与设计】第6篇:动态规划的原理:最优子结构与重叠子问题
算法
Larcher18 小时前
数组去重算法:理论与实践深度解析
javascript·算法·代码规范
CS创新实验室18 小时前
数据结构和算法:摊还分析
java·数据结构·算法
curry____30318 小时前
邻接矩阵 和 领接表 和 链式前向星对比
数据结构·c++·算法