70. 爬楼梯
题目地址
题目看似很难,没有仍和头绪,但只要输入1,2,3,4,5,6简单推到一番便能发现是一个斐波那契数列,此时任务变得非常简单
class Solution(object):
def climbStairs(self, n):
if n <= 1:
return n
a, b = 0, 1
for _ in range(1, n+1):
a, b = b, a + b
return b
注意!!!
a, b = b, a + b
不能拆开,因为这两步是同时进行的,若拆分成两步就出错了,无论谁前谁后。
总结心得:
有的时候要把抽象问题复杂化,可能通过简单的枚举就能发现一个规律
学习到了*原子操作(即同时赋值)*这个概念
LeetCode爬楼梯题解与心得
370

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



