package java_jianzhioffer_algorithm;
import java.util.Scanner;
/**
* 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。
* 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
* @author hexiaoli
* 思路:
* 1)找规律,发现是fibonacci数列
* 2)采用fibonacci的方法
*/
public class Frog_jump {
public static int frogJump(int n) {
int n1 = 2;
int n2 = 1;
int sum = 0;
if(n <= 0) {
return 0;
}
if( n == 1) {
return 1;
}
if( n == 2) {
return 2;
}
for(int i = 2;i < n;i++) {
sum = n1 + n2;
n2 = n1;
n1 = sum;
}
return sum;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
System.out.println(frogJump(n));
}
}
剑指offer(8)青蛙跳台阶
猜你喜欢
转载自blog.csdn.net/hxl0925/article/details/89328345
今日推荐
周排行