上樓梯 動態規劃

2021-07-31 09:37:59 字數 769 閱讀 6287

—————–>>>>>>

題目**

<<<<<<———————

題目描述

有個小孩正在上樓梯,樓梯有n階台階,小孩一次可以上1階、2階、3階。請實現乙個方法,計算小孩有多少種上樓的方式。為了防止溢位,請將結果mod 1000000007

給定乙個正整數int n,請返回乙個數,代表上樓的方式數。保證n小於等於100000。

測試樣例:

返回:1

解題思路:這題用的是動態規劃的解法。由題可知,到目標階梯的方法共有三種:

1.由n-1到達,走了一步。

2.由n-2到達,走了兩步。

3.由n-3到達,走了三步。

那麼,很明顯,這三種到達目標階梯的總和就是到達目標階梯的所有可能性。

直接貼**。

public

static

intcountways

(int

n) ;//代表 0 1 2 個階梯的可能性

if(n < 3

) int

i = 3

; for

(; i <= n ; i++)

a[i % 3

] = x;

}return

a[(i - 1

) % 3

]; }

public

static

void

main

(string args)

上樓梯 動態規劃

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

動態規劃 上樓梯高階版

d 上樓梯 檢視 提交 統計 提問 總時間限制 1000ms 記憶體限制 128kb 描述 小s在玩乙個叫上樓梯的遊戲。樓梯一共有n層台階。因為腿長的限制,小s每次最多只能上k層台階。小s是乙個迷信的人,所以他不希望自己某一步走的步數的數字裡有 4 比如4,14,44都含有數字 4 現在,小s想要知...

上樓梯問題 棧

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