Re: [闲聊] 每日LeetCode

楼主: Rushia (みけねこ的鼻屎)   2022-12-12 09:05:06
70. Climbing Stairs
龙大要爬楼梯,他每次可以选择走一阶或走两阶,求出爬到第n阶共有几种走法。
Example :
Input: n = 3
Output: 3
Explanation: There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step
思路:
1.经典的dp题,到第i阶的可能走法为从i-1位置走一步加上从i-2位置走两步,
状态转移方程为 dp[i] = dp[i - 1] + dp[i - 2]。
2.因为我们只要知道前两阶共有几种走法,所以dp只需要维护大小为2的阵列即可,
空间复杂度O(n) ==> O(1)
Java Code:
作者: sustainer123 (caster)   2022-12-12 09:08:00
大师
作者: pandix (面包屌)   2022-12-12 09:17:00
大师
作者: DDFox (冒险者兼清洁工)   2022-12-12 09:17:00
大师
作者: louiss72 (louiss72)   2022-12-12 09:29:00
费氏递回也能做吧 只是不知道复杂度多少啊 这就是 我只看到题目

Links booklink

Contact Us: admin [ a t ] ucptt.com