likes
comments
collection
share

LeetCode第70题爬楼梯

作者站长头像
站长
· 阅读数 16

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

LeetCode第70题爬楼梯

分析一波题目

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

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

编码解决

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、理解题目的题意,然后发现规律,这个题目发现解可以根据前面求的子项解推出后面的解,这是动态规划思想。

转载自:https://juejin.cn/post/7293121326654128165
评论
请登录