LeetCode题解(python)
[70. 爬楼梯](https://leetcode-cn.com/problems/sqrtx/)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
**注意:**给定 n 是一个正整数。
解题心得
解答本题,适合把前几项写出来
n=1 1
n=2 2
n=3 1+2
n=4 2+(1+2)
n=5 (2+1+2) + (1+2)
……
对于n阶,都相当于n-1阶+n-2阶的方法之和
执行用时 :36 ms, 在所有 Python3 提交中击败了81.95%的用户
内存消耗 :13.7 MB, 在所有 Python3 提交中击败了20.59%的用户
解题代码
class Solution:
def climbStairs(self, n: int) -> int:
if n==1:
return 1
elif n==2:
return 2
else:
sn1 = 1
sn2 = 2
for i in range(3,n+1):
rel = sn1+sn2
sn1 = sn2
sn2 = rel
return rel