剑指 offer_第八题_跳台阶

平台

牛客网

语言

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

补充知识点

猜你喜欢

转载自blog.csdn.net/Heitao5200/article/details/82947821