https://blog.csdn.net/m0_74408723/article/details/145303575?spm=1001.2014.3001.5501
一只青蛙,可以一次跳上1级台阶,也可以一次跳上2级台阶。求这只青蛙跳10级台阶有多少种跳法?
优化上一篇青蛙跳台阶问题。可以采用Map字典存放f(n-1)+f(n-2)
具体实现如下:
import java.util.*;public class Main {static int cnt = 0;public static void main(String[] args) {cnt = jump_way(10);System.out.println(cnt);}static Map<Integer,Integer> map = new HashMap<>();public static int jump_way(int n){if(n==1){return 1;}if(n==2){return 2;}if(map.containsKey(n)){return map.get(n);}else{map.put(n,(jump_way(n-1)+jump_way(n-2)));return map.get(n);}}
}
结果同样是89。但是大大节省了资源时间。
