小白上樓梯(遞迴設計)

2022-06-19 16:33:12 字數 569 閱讀 1175

題目:小白正在上樓梯,樓梯有n階,小白一次可以上1階、2階或者三階,實現乙個方法,計算小白有多少種走完樓梯的方式。

遞迴式:f(n) = f(n - 1) + f(n - 2) + f(n - 3)

注意出口:n = 1、n = 2和n = 3時設定出口。

1/*2

*小白上樓梯3*/

4int fs(intn)5

10else

if (n == 1)13

else

if (n == 2

) 16

else

if (n == 3

) 19

//遞迴式

20return fs(n - 1) + fs(n - 2) + fs(n - 3

);21}22

intmain()

23

對分治演算法型別的題要敏感。較難的分治演算法的重心要放在父問題的分解為子問題上,父子問題一定要本質相同。

遞迴式和遞迴樹輔助對分治演算法的分析。

上樓梯 動態規劃

題目 題目描述 有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。測試樣例 返回 1 解題思路 這題...

上樓梯 動態規劃

題目 題目描述 有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階 2階 3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007 給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。測試樣例 返回 1 解題思路 這題...

上樓梯問題 棧

這樣說可能有些費解,尤其對於初學者來說,接觸這道題的時間可能還未觸及資料結構的層次,或者有所耳聞,但是卻沒有沒法有足夠的模擬和抽象化的能力理解棧是怎樣執行的,那麼我們就從這道題開始,盡量讓你用一道題就掌握棧這個資料結構 有n級的台階,你一開始在底部,每次可以向上邁最多k級台階 最少1級 問到達第n級...