跳台阶的算法优化
原因:因为普通的递归会有很多重复的,比如F(4)=f(3)+f(2),f(3)=f(2)+f(1),这里f(2)就重复了;
优化思路,就是把已经算的了放进map中,然后需要的时候取出来
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16private static int getWays(int n){ HashMap<Integer, Integer> m = new HashMap<>(); if (n<=0){ return 0; } if (n==1) return 1; if (n==2) return 2; if (m.containsKey(n)){ return m.get(n); }else { int value = getWays(n-1)+getWays(n-2); m.put(n,value); return value; }
最后
以上就是野性毛巾最近收集整理的关于跳台阶问题的优化跳台阶的算法优化的全部内容,更多相关跳台阶问题内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复