版权声明:我是小仙女 转载要告诉小仙女哦 https://blog.csdn.net/qq_40210472/article/details/88823570
首先,参考其他的博主 放出这张图,从这张图中我们可以看出,青蛙跳台阶问题可以 是等同于斐波那契数列的。
所以可以使用递归或者循环的方式处理。
class Solution:
# @param {integer} n
# @return {integer}
def climbStairs(self, n):
if n==1 or n==2:
return n
a=1;b=2;c=3
for i in range(3,n+1):
c=a+b;a=b;b=c
return c
class Solution:
# @param {integer} n
# @return {integer}
def climbStairs(self, n):
def fact(n):
result=1
for i in range(1,n+1):
result*=i
return result
total=0
for i in range(n/2+1):
total+=fact(i+n-2*i)/fact(i)/fact(n-2*i)
return total