古典的な動的なプログラミングエントリのタイトル - それはレッスンを記録し、合格しない行に3〜4回を提出した階段の質問にジャンプ。
[ジャンプ]ステップ
あなたは階段を登っていると仮定します。Nは、あなたが屋根に取得する必要があります注文します。
たびに、1つのまたは2つのステップを登ることができます。どのように多くの異なる方法がそれの屋根に登ることができますか?
注:与えられたnは正の整数です。
出典:ボタン(LeetCode)に滞在
します。https://leetcode-cn.com/problems/climbing-stairsリンク
すべてのネットワークからの控除が著作権を保有します。商業転載は許可公式、非商用の転載は、ソースを明記してくださいお問い合わせください。
コードの質問を提出してください:
クラス溶液: DEF climbStairs(自己、N:整数) - > INT: DP = [I Iの範囲内の(N + 1)のために] I = 2 、I> 2及びiがn <しばらく: DP [i]のDPを= [I -1] + DP [I-2] 戻りDP [N]
最初の2つの要素が[1] = DP 1、DP [2] = 2
従ってDPを初期化[I] =私
3つの問題があります。
1. I> 2、iはN <つつ。
コードが実行されないながら3再帰が開始しながら、iは1に初期化
I + = 1の式を更新せずに本体ながらコードの各実行後2、iが、内部コードは、単純反復ないが
ループ終了条件があるとき3.:私は、n <
唯一のDP [I-1]を取得します、