乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
本質上是斐波那契數列。
記跳n級台階的跳法有 f(n) 種,
如果最後一次跳了兩級,那麼一共的跳法是 n-2 級台階的跳法,即 f(n-2),
如果最後一次跳了一級,那麼一共的跳法是 n-1 級台階的跳法,即 f(n-1),
那麼 n 級台階的跳法就有 f(n) = f(n-2) + f(n-1)
我們知道,跳第 0, 1, 2 級台階的跳法分別為 0,1,2,那麼運用迭代的思路,就不難求出 n 級台階的跳法了。
class
solution
:def
jumpfloor
(self, number)
:# write code here
result =[0
,1,2
]for i in
range(3
,number+1)
:2]+ result[i-1]
)return result[number]
劍指Offer刷題筆記 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。首先我們考慮最簡單的情況。如果只有1級台階,那麼顯然只一種跳法。如果有2級台階,那就有兩種跳法 一種是分兩次跳,每次跳1級 另一種是一次跳2級。接著,我們來討論一般情況。我們把n級台階時的跳法看成是n的函式,記...
《劍指offer》刷題筆記 8 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 這是一道經典的遞推題目,從第n級台階往回推,由於它可以跳1級台階或者2級台階,所以它上一步必定在第 n 1 或者第 n 2 級台階,也就是說它跳上n級台階的跳法數是跳上n 1和跳上n ...
劍指offer 跳台階
跳台階1 題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 遞迴思想 可以理解為前面m步的情況加上最後一步的情況,前面m步理解為,m 1步加上最後一步的情況。最後一步分為2中情況,上1級和上2級。如下 class solution 跳台階2 題目 ...