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

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

    }
}
  • 思路:典型的遞歸法
    • n=1時,1種跳發(fā)
    • n=2時,一級一級跳或者直接一下跳2級,總共2種跳發(fā)
    • n>2時,可以先調(diào)到n-2級臺階再跳到n級,或者可以先調(diào)到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);
        }
    }
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容