带有缓存的递归算法

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];
    }
}