题目描述:

思路:
n=1,climbStairs(1)=1
n=2,climbStairs(2)=2
n>2,爬到n阶可以看做是,由n-1阶爬1阶,由n-2阶爬2阶
climbStairs(n) = climbStairs(n-1) + climbStairs(n-2)
代码:
class Solution:
def climbStairs(self, n: int) -> int:
if n <= 2:
return n
onenum = 1
twonum = 2
nexnum = 0
for i in range(3, n+1):
nexnum = onenum + twonum
onenum = twonum
twonum = nexnum
return nexnum
|