剑指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

 

posted @ 2017-10-13 13:53  Deaglepc  阅读(253)  评论(0编辑  收藏  举报