ジャンプステップ(倒錯バージョン)

問題

カエルは、クラス1レベルにジャンプすることができます。また、レベル2に飛び乗っすることができます...... nはまた、ステージの上にジャンプすることができます。
カエルはどのように多くのジャンプのn級レベルの合計を求めて飛び込みました。

アルゴリズム1

dp问题
ここに画像を挿入説明

  • 場合N = N、nは様子をホップがあり、一次、二次... N順序は、結論:
    F(N)= F(N-1)+ F(N-2)+ ... + F(nは- (N-1))+ F(NN)
  • F(N-1)= F (0)+ F(1)+ F(2)+ F(3)+ ... + F((N-1)-1)
    の両方をLにすることができます
    f(n)=2f(n-1)
public int JumpFloorII(int target) {

        if(target==1){
            return 1;
        }
        if(target==2){
            return 2;
        }
	//将大问题划分为小问题进行解决
        return JumpFloorII(target-1)*2;


    }

アルゴリズム2

各ステップは、最後のステップは、ジャンプしなければならジャンプして(最後のステップを除く)の両方のケースでジャンプしないことがあります。したがって、共通の2(N-1)^場合

  //每一个台阶都有跳与不跳两种情况(除了最后一个台阶)最后一个台阶必须跳,所以共有2^(n-1)中情况
    public int JumpFloorII2(int target){
        return  (int)Math.pow(2,target-1);
    }
彼は198元の記事を発表 ウォン称賛20 ビュー20000 +

おすすめ

転載: blog.csdn.net/ZHOUJIAN_TANK/article/details/104903784