タイトル説明
カエルは、クラス1レベルにジャンプすることができ、あなたはまた、レベル2に飛び乗っすることができます。カエルはどのように多くのジャンプ(別の計算異なる結果の順序)は、n級レベルの合計を求めて飛び込みました。
アイデア解析
- 実際には、フィボナッチ数、
- F(1)= 1、F(2)= 2、N = 3、2例:
- カエルのステップにジャンプし、そこに2つのステップがあるので、この方法は、(2)Fにジャンプし、
- カエル(1)方法Fをジャンプするように、最初の2つのステップをジャンプ、及びステップがあり、
- 要約するとジャンプ方法をn = 3 F(1)+ F(2)
Javaコード
public class Offer010_2 {
public static void main(String[] args) {
}
public static int JumpFloor(int target) {
return Solution1(target);
}
/**
* 解法一 斐波那契数列 非递归
* @param target
* @return
*/
private static int Solution1(int target) {
if(target == 1) {
return 1;
}
if(target ==2) {
return 2;
}
int fm2 = 1;
int fm1 = 2;
int fN = 0;
for(int i=3;i<=target;i++) {
fN =fm2+fm1;
fm2 = fm1;
fm1 = fN;
}
return fN;
}
}