跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路:n=1, f=1
n=2,f=2(11;2)
n=3,f=3(111;12;21)
n=4,f=5(1111,22,121,211,112)
实际上就是一个斐波那契数列
注意考虑n<1的时候
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
# write code here
if number<1:
return 0
if number==1:
return 1
if number==2:
return 2
a=1
b=2
for i in range(3,number+1):
c=a+b
a=b
b=c
return c

浙公网安备 33010602011771号