1. 程式人生 > >劍指 offer_第八題_跳臺階

劍指 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

補充知識點