動態規劃(斐波那契系列) 爬樓梯

2022-08-20 17:03:09 字數 382 閱讀 4971

遞迴和動態規劃都是將原問題拆成多個子問題然後求解,他們之間最本質的區別是,動態規劃保留了子問題的解,避免了重複計算。

70. climbing stairs (easy)

題目描述:

有 n 階樓梯,每次可以上一階或者兩階,求有多少種上樓梯的方法。

思路分析:

定義乙個dp陣列儲存上樓梯的方法數,dp[i]表示走到第i層樓的方法數,第i層樓梯可以從第i-1層和i-2個樓梯再走一步到達。那麼走到第i層樓梯的方式為走到第i-1層的方式和第i-2層的方式和。

dp[ i ]=dp[i-1]+dp[i-2]

**:

class solution 

return dp[n];

}}

斐波那契 70 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2輸出 2解釋 有兩種方法可以爬到樓頂。1.1 階 1階 2.2 階 示例 2 輸入 3輸出 3解釋 有三種方法可以爬到樓頂。1.1 階 ...

斐波那契數列和爬樓梯問題

n階樓梯,每次爬一階或者兩階,求總共有多少中方法爬n階樓梯?include stdafx.h include using namespace std int louti int n b 30 c 30 申請陣列用於儲存結果 intmax 30 能求出的結果位數最大為30位,可任意設定 int j,k...

LC070 爬樓梯 斐波那契

該陣列每個元素的指標對應的是台階數,元素的值存放的是台階數對應的方法數 不管怎樣,陣列下標指標肯定是從0開始的,所以要考慮0.有0個台階,不需要爬,所以沒有方法數 但從斐波那契角度,dp 0 1 dp 1 1 1階台階,只有一種方式 1 2階台階,有兩種方式 1 1,2 因為題目設定n是正整數,所以...