題目描述
一隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上一個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
解題思路
- 如果隻有一節台階,則隻有一種結果
- 兩節台階有兩種結果
- 再往後以此類推
- 該次次數等于上一次跳一節的之前的次數,加上上一節跳兩節的之前的所有次數之和
代碼實作
public class Solution {
public int JumpFloor(int target) {
if (target <= 0) {
return -1;
}
if (target == 1 || target == 2) {
return target == 1 ? 1 : 2;
} else {
return JumpFloor(target - 1) + JumpFloor(target - 2);
}
}
}