💖作者简介:大家好,我是车神哥,府学路18号的车神🥇
⚡About—>车神:从寝室到实验室最快3分钟,最慢3分半(那半分钟其实是等红绿灯)
📝个人主页:应无所住而生其心的博客_府学路18号车神_CSDN博客
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
📖本系列主要以刷LeetCode(力扣)网站的各类题为标准,实现自我能力的提升为目标⚡
⚡希望大家多多支持🤗~一起加油 😁
- 专栏—>《LeetCode天梯》
其他专栏:
上午开组会,激烈的讨论中,对着boss打着哈欠,boss说你们晚上开了夜车呀!害,没办法啊,这。任务艰巨呀,害的刷题,加油吧~
每天进步一点点,就已经很棒很棒了,坚持坚持,不要太累,拒绝内卷,从每日一练开始,每天十分钟,快乐生活一辈子!疫情依旧反复,大家带好口罩啊~ 继续继续,来,今天和车神哥一起来提升自己的Python编程和面试能力吧,刷天梯~
放上我拍的Photo吧!

每日推荐一首歌:千里之外——Jay Chou
以下为我的天梯积分规则:
每日至少一题:一题积分+10分
若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)
若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60)
初始分为100分
若差一天没做题,则扣积分-10分(周六、周日除外注:休息)
坚持!!!
初级算法
刷题目录
动态规划

题干
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例1:
输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。
- 1 阶 + 1 阶
- 2 阶
示例2:
输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
- 1 阶 + 1 阶 + 1 阶
- 1 阶 + 2 阶
- 2 阶 + 1 阶
递归
分析:
有大佬说这道题和青蛙跳台的原理一样。
- 当n=1时,只一次即可,f(1)=1;
- 当n=2时,可以有两次,f(2)=2;
- 当n=3时,有三次,f(3)=f(2)+f(1);
借用下图片:

class Solution:
def climbStairs(self, n: int) -> int:
# 递归
if n <= 1:
return 1
if n < 3:
return n
return Solution.climbStairs(self, n-1) + Solution.climbStairs(self, n-2)
直接超时,这样递归,有点慢啊!

这儿还是不用递归了,改用非递归吧。
非递归
其实也是用的那个Fibonacci的方法。
class Solution:
def climbStairs(self, n: int) -> int:
if n <=2:
return n
l = [1, 2]
for i in range(n-2):
l.append(l[i]+l[i+1])
return l[n-1]

速率明显上来了。
其实还有好多种方法,大家可以试一试。
继续看论文o(╥﹏╥)o
Reference
作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnumcr/
来源:力扣(LeetCode)
作者:数据结构和算法
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xn854d/?discussion=DW6hWu
来源:力扣(LeetCode)
今日得分:+10+10
总得分:760加油!!!
❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!打天梯!!!
⚡To Be No.1⚡⚡哈哈哈哈
⚡创作不易⚡,过路能❤关注、收藏、点个赞❤三连就最好不过了
ღ( ´・ᴗ・` )
❤
『
纵使日薄西山
』
138

被折叠的 条评论
为什么被折叠?



