平台
牛客网
语言
python2.7.3
作业内容
题目描述
一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。 求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)
题目理解
该题的本质是斐波那契数列
解题思路
一级:1种跳法 1
二级:2种 11 2
三级:3种 111 12 21
四级:5种 1111 112 121 211 22
五级:8种 11111 1112 1121 1211 2111 122 212 221
青蛙可以一次跳2级,或1级,即总共跳的台阶数都是由2和1相加得到的
程序
class Solution:
def jumpFloor(self, number):
if number == 1:
return 1
if number == 2:
return 2
else:
a,b =1,2
for i in range(2, number ):
a,b = b,a+b
return b