動態規劃 青蛙跳台階問題

2021-10-09 05:00:25 字數 613 閱讀 5831

問題描述:青蛙可以一次跳乙個台階,也可以一次跳兩個台階,總共有10層台階,青蛙有多少種選擇

動態規劃:設第n層的最多選擇為stage(n),根據題意,可得如下狀態轉移方程:

stage(n)=stage(n-1)+stage(n-2)

如果n=10,則上述的意思就是第十層的選擇等於第九層的選擇數+第八層的選擇數。(這是因為青蛙一次可以跳乙個台階,也可以一次跳兩個台階,當青蛙在第八層和第九層時都可以達到第十層)

def

stage

(n):

if n<0:

return-1

elif n==0:

return

0elif n==1:

return

1elif n==2:

return

2else

: dp=

0)1)

2)for i in

range(3

,n+1):

dp_tmp=dp[i-1]

+dp[i-2]

return dp[n]

print

(stage(10)

)

青蛙跳台階(動態規劃)

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 這個題採用動態規劃的思想,它每次只能跳一階或者兩階台階 那麼它跳到第n階台階就有兩種情況,從第n 1階台階一次跳一階 或者從n 2階台階一次跳兩階 那麼依次類推,只要保留跳到n 1和n...

動態規劃 1 青蛙跳台階

動態規劃 例子一 乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個n級台階總共有多少種跳法。分析 第一步 假設台階有7階的話,先從正向分析,假如先跳了一階,那麼還有六階可選,假如先挑了二階,就還有五階可選。所以可以得出,在青蛙做出乙個動作後會有f 7 f 6 f 5 第二步 在青蛙...

青蛙跳台階問題

題目 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。我的思路 最開始我的思路是把這個看成是乙個數學問題,n i 1 k 2先把所有可能滿足這個公式的i和k求出來。然後在對i和k做排列組合。很明顯i的範圍應該是0 public int jumpflo...