题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
通过:100%
思路:当台阶为10的时候,最后一步的情况只要两种,要么1,要么2。
为1的时候,是踩在第九阶上走的最后一步,为2的时候是踩在第8阶上走的最后一步。
由此我们可以得到,上台阶10的跳法 = 上八阶的跳法 + 上九的跳法。到此,解法不言而喻
代码:
public class A08跳台阶 {
public static void main(String[] args) {
//测试
System.out.println(JumpFloor(5));
}
public static int JumpFloor(int target) {
if(target == 1) {
return 1;
} else if(target == 2) {
return 2;
}
int a = 1,b = 2,num = 0;
for(int i = 0; i < target - 2; i++) {
num = a + b;
a = b;
b = num;
}
return num;
}
}