java數據結構和算法(08)跳臺階

  • 一隻青蛙一次能夠跳上1級臺階,也能夠跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(前後次序不一樣算不一樣的結果)。完成以下代碼:
public class Solution {
    public int JumpFloor(int target) {

    }
}
複製代碼
  • 思路:典型的遞歸法
    • n=1時,1種跳發
    • n=2時,一級一級跳或者直接一下跳2級,總共2種跳發
    • n>2時,能夠先調到n-2級臺階再跳到n級,或者能夠先調到n-1級臺階再跳到n級
  • 代碼
public class Solution {
    public int JumpFloor(int target) {
        if (target < 1) {
            return 0;
        } else if (target == 1) {
            return 1;
        } else if (target == 2) {
            return 2;
        } else {
            return JumpFloor(target - 1) + JumpFloor(target - 2);
        }
    }
}
複製代碼
相關文章
相關標籤/搜索