标签:空间 用两个 obj range for bing 数列 turn tair
n阶楼梯,每次可以爬一或两步,问有多少种登顶的爬法。
因为每次可以爬一步或两步。在第i个梯子上,有多少种爬法取决于在i-1和i-2的梯子上有多少种爬法,简单的dp公式为:\(dp[i] = dp[i-1] + dp[i-2]\)。显然这是一个斐波纳契数列,直接用两个变量f1和f2叠加即可。
class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
f1 = 1
f2 = 0
for i in range(n):
f1, f2 = f1+f2, f1
return f1
标签:空间 用两个 obj range for bing 数列 turn tair
原文地址:https://www.cnblogs.com/liaohuiqiang/p/9745716.html