天天看點

劍指offer-08:跳台階

題目描述

一隻青蛙一次可以跳上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);
        }
    }
}
           

繼續閱讀