假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
样例
比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法
返回 3
这道题实际上有些迷惑人
仔细分析如果线条一节就会剩下 f(n-1)种答案
而先跳两节则有 f(n-2)个
总共为发f(n) = f( n - 1) + f(n - 2)即斐波那契
class Solution:
def climbStairs(self, n):
if n == 1:
return 1
if n == 0:
return 0
myl = [1,1]
for i in range(n -1 ):
x = myl[-1] + myl[-2]
myl.append(x)
return myl[-1]
本文探讨了一个经典的爬楼梯问题:如何用不同方法爬上n阶楼梯,每次只能爬1阶或2阶。文章通过分析得出了解决该问题的公式,即斐波那契数列,并提供了一段Python代码实现。
1356

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



