再帰_カエルジャンプステップ(倒錯バージョン)

タイトル説明

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

私の解決策

public int JumpFloor1(int target) {
    if (target == 1) {
        return 1;
    } else {
        int total = 0;
        for (int i = 1; i < target; i++) {
            total += JumpFloorII(target - i);
        }
        return total+1;
    }
}

ギャングスター・ソリューション

①F(N)= F(N-1)+ F(N-2)+ F(N-3)+ ... + F(2)+ F(1)

②F(N-1)= F(N-2)+ F(N-3)+ ... + F(2)+ F(1)

①②、F(N)= 2F(N-1)から製造されました。

public static int jumpFloor2(int target) {
    if (target == 1) {
        return 1;
    } else {
        return 2 * jumpFloor2(target - 1);
    }
}

究極のソリューション

F(N)= 2F(N-1)(N> = 2)
F(N)= 1(N = 1)

再帰方程式が解かれます。

F(N)= 2F(N - 1)

2×2F =(( -n 1) - 1)= 2 2 、 F(N - 2

2×2 = * 2F(( -n 2) - 1)= 2 3 、 F(N - 3

2×2 = 2 * 2 * ... * 2F(( -N (N-3))-1)= 2 N-2 、 F(N - (N-2))= 2 N-2 F(2)

2×2 = 2 * 2 * ... * 2F(( -N (N-2))-1)= 2 N-1 、 F(N - (N-1))= 2 N-1 、 F(1)= 2 N-1

public int JumpFloor3(int target) {
    return (int) Math.pow(2, target - 1);
}

おすすめ

転載: www.cnblogs.com/KenBaiCaiDeMiao/p/12594412.html