1.タイトル説明
カエルは、クラス1レベルにジャンプすることができます。また、レベル2に飛び乗っすることができます...... nはまた、ステージの上にジャンプすることができます。カエルはどのように多くのジャンプのn級レベルの合計を求めて飛び込みました。
2.アイデアや方法
各ステップは、(最後のステップを除く)の両方のケースでジャンプジャンプしていないために持って、最後のステップは、ジャンプしなければなりません。したがって、一般的な2 ^(n-1)の場合です。別の表現は、一つのことを理解しやすくなることがあります。鳥は、エンドN. 0の出発点から飛びます 真ん中の1〜n-1のストップオーバーポイントは、休むことができるか、残りの休憩時間を休まないかもしれ限定されません。、終わりに、ケースの総数を求めました。
この方法は、置く実装:F(N)= F(N-1)+ F(N-2)+ ... + F(1)をF(N-1)= F(N-2)+ F(N- 3)+ ... + F(1)、......、
3. C ++コアコード
1 クラスソリューション{ 2 公共: 3 INT jumpFloorII(INTの数){ 4 int型の和= 0 。 5 あれば(数< 0 ) 6 リターン 0 。 7 場合(数== 0 ||数== 1 ) 8 リターン 1 。 9 用(int型 i = 1 ; iが<=番号iが++ ) 10 { 11 和+ = jumpFloorII(数- I)。 12 } 13 リターン和。 14 } 15 }。
参考資料
https://blog.csdn.net/xiaomei920528/article/details/74178927