题解 | #跳台阶#

跳台阶

https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4

带有缓存的递归算法

public class Solution {
    private static int[] CACHE = new int[100];//缓存,用于记录之前的操作过程中留下的记录
    public int jumpFloor(int target) {
      if (target == 1){
            return 1;
        }
        if (target == 2) {
            return 2;
        }
        if (CACHE[target -2] > 0 && CACHE[target - 1] > 0){//CACHE[target - 1],CACHE[target - 2]分别为前两次计算获得结果
            return CACHE[target - 1] + CACHE[target - 2];
        }
        CACHE[target] = jumpFloor(target - 2) + jumpFloor(target - 1);
        return CACHE[target];
    }
}


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务