剑指offer-变态跳台阶

找规律发现答案是2n-1

其实对于第n个台阶,相对于前一个状态多了一个台阶,那么我们可以把第n-1个台阶看作一种走法,即走n-1个台阶或者走1个台阶,那么就是先走1个再走n-1个或者先走n-1个再走1个台阶即可到达

那么可以得到  dp[n] = dp[n - 1] * 2;  dp[1] = 1; 

class Solution {
public:
    int jumpFloorII(int number) {
        return 1 << (number - 1);
    }
};
View Code
原文地址:https://www.cnblogs.com/dupengcheng/p/7660801.html