大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0,第1項是1)。n<=39
又是乙個經典的動態規劃問題,只需要注意到n的情況等於n-1的和n-2的情況之和即可,注意開始時對特殊情況的討論
class
solution
:def
jumpfloor
(self, number)
:# write code
n = number
if n ==0:
return
0if n ==1:
return
1if n ==2:
return
2 dp =[0
]*(n+1
) dp[0]
=0dp[1]
=1dp[2]
=2for i in
range(3
, n+1)
: dp[i]
= dp[i-1]
+ dp[i-2]
return dp[n]
8 劍指offer 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 比較傾向於找規律的解法,f 1 1,f 2 2,f 3 3,f 4 5,可以總結出f n f n 1 f n 2 的規律,但是為什麼會出現這樣的規律呢?假設現在6個台階,我們可以從第5...
8 劍指offer 跳台階
題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 f n f n 1 f n 2 且0 1 2需要單獨處理 1 include 2 using namespace std 3class solution 9int f1 1 10 int f...
劍指 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 分析 因為只能跳1級或2,假設n階有f n 種跳法。所以有兩種情況 a 如果第一次跳的是1階,那麼剩下的n 1個台階,跳法有f n 1 b 如果第一次跳的是2階,那麼剩下的n 2個台階...