题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
res = 0
# write code here
if (number == 1):
res = 1
elif (number == 2):
res = 2
else:
res = self.jumpFloor(number-1)+self.jumpFloor(number-2)
return res
出现溢出问题同第三题斐波那契数列
修改后
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
res = 0
ppnum = 1
pnum = 2
# write code here
if (number == 1):
res = 1
elif (number == 2):
res = 2
else:
for i in range(3,number+1):
res = pnum + ppnum
ppnum = pnum
pnum = res
return res