LeetCode第70题爬楼梯

继续打卡算法题,今天学习的是LeetCode70题爬楼梯,这道题目是道简单题。算法题的一些解题思路和技巧真的非常巧妙,每天看一看算法题和解题思路,我相信对我们的编码思维和编码能力有一些提升。

分析一波题目

这个题目思路是简单的,由于每次只能爬1步或者2步,那么达到每一层可以通过倒数第二层和倒数第三层推出来。

比如 n =3,等于n=2再爬一楼,n=1再爬2楼 ,这样就有 f(n) = f(n-1) + f(n-2)

编码解决

java 复制代码
class Solution {
    public int climbStairs(int n) {
        int p = 0, q = 0, r = 1;
        for (int i = 1; i <= n; ++i) {
            p = q; 
            q = r; 
            r = p + q;
        }
        return r;
    }
}

总结

1、理解题目的题意,然后发现规律,这个题目发现解可以根据前面求的子项解推出后面的解,这是动态规划思想。

相关推荐
kyriewen1 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
土豆.exe1 小时前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
IT_陈寒1 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端
黄河123长江1 小时前
有限Abel群的结构()
算法
Revolution612 小时前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
Jerry2 小时前
LeetCode 92. 反转链表 II
算法
SomeB1oody2 小时前
【RustyML入门】1.0. 快速上手
开发语言·后端·机器学习·rust·教程
骊城英雄2 小时前
Rust从入门到精通-trait
人工智能·算法·rust