変態ジャンプ階段:[] 10.3フェース質問オファー安全性と再帰ループを証明するために、

タイトル説明

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

思考

n段目のカエルは、ホップステップ方式の総数をジャンプ(N> = 1)F(N)で表されます。用のnステップ、最初のステップは、残りのn-1クラスの合計F(N-1)が、ジャンプの種類を蛙をスキップすることができ、残りのn-2レベルのCOが、ステップ2を省略することができますF(N-2)ジャンプの種類、...、そう\(F(N)= F(N - 1)+ F(N-2)+ ... + F(1)\) 以降(。。。F(N - 1)= F(N - 2)+ F(3-N-)+ ... + F(1)\)\ので(F(N)\ = F (N-1)+ F(N-2)+ ... + F(1)= 2F(N-1)= 2 ^ 2F(N-2)= ... = 2 ^ {N-1} F(1)= 2 ^ 1-N- {})\、そう\(F(N)= ^ {N-2} -1- \) コードは次のように

class Solution {
public:
    int jumpFloorII(int number) {
        if(number==0)
            return 0;
        
        int ans = 1;
        while(number>1){
            ans *= 2;
            number--;
        }
        return ans;
    }
};

おすすめ

転載: www.cnblogs.com/flix/p/12567706.html