剑指offer JZ9 变态跳台阶

题目链接:

JZ9 变态跳台阶

本题思路:

public class Solution {
     
    public int JumpFloorII(int target) {
     
        // 跳到n层 可以从它下一层至地面开始跳(一次性跳1层 2层...n层)
        // 从n-1层起跳 一次性跳1层 而跳到n-1有f(n-1)种跳法
        // 从n-2层起跳 一次性跳2层 而跳到n-2有f(n-2)种跳法
        // f(n)    = f(n-1)+f(n-2)+...+f(0)
        // f(n-1)  = f(n-2)+f(n-3)+...+f(0)
        // f(n)    = 2*f(n-1)
        if(target == 0 || target == 1) return 1;
        else return 2*JumpFloorII(target - 1);
    }
}

你可能感兴趣的:(剑指offer刷题实录,leetcode,算法)