带有缓存的递归算法
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]; } }