LeetCode第70题 Climbing Stairs
来源:互联网 发布:江南龙族大画集淘宝店 编辑:程序博客网 时间:2024/05/29 17:21
转载于: http://www.bubuko.com/infodetail-620174.html
第一反应,递归求解,貌似很简单。但是不幸,超时
public int climbStairs1(int n) { if (n == 1 || n == 2) { return n; } return climbStairs1(n-1) + climbStairs1(n-2); }
为什么超时呢?因为有很多重复的计算,以n=5为例,递归图如下所示:
如果所示,标颜色的需要重复递归调用计算,所以动态规划的思想就是把重叠子问题存储下来,下次调用直接查表即可。比如在第一次递归调用时,n=3已经将结果计算出来,在n=4的时候就不需要就算了,上代码:
public int climbStairs(int n) { if (n == 0 || n == 1 || n == 2) { return n; } int[] r = new int[n+1]; r[1] = 1; r[2] = 2; for (int i = 3; i <= n; i++) { r[i] = r[i-1] + r[i-2]; } return r[n]; }
0 0
- LeetCode第70题 Climbing Stairs
- 【leetcode】第70题 Climbing Stairs 题目+解析+JAVA代码
- LeetCode(70)Climbing Stairs
- leetcode 70-Climbing Stairs
- [leetcode 70] Climbing Stairs
- leetcode || 70、 Climbing Stairs
- [leetcode] #70 Climbing Stairs
- LeetCode 70 Climbing Stairs
- leetcode 70 Climbing Stairs
- LeetCode---(70)Climbing Stairs
- leetcode#70 Climbing Stairs
- Leetcode[70]-Climbing Stairs
- leetcode[70]:Climbing Stairs
- Leetcode 70 Climbing Stairs
- leetcode 70:Climbing Stairs
- Leetcode #70 Climbing Stairs
- [leetcode 70]Climbing Stairs
- leetcode 70: Climbing Stairs
- VBA教程初级(一):简单宏
- 串口编程 tcflush()函数
- POJ 1236 Network of Schools【强连通分量分解&&缩点||tarjan&&缩点】
- JavaScript 闭包
- 用MATLAB處理grib2數據
- LeetCode第70题 Climbing Stairs
- freetype2.4.6在iOS上各版本的编译脚本
- Java进阶07 嵌套类
- 浏览器实现图片100%,而且保证不变形
- 转换说明符(%s、%u、%c.....)
- 5.各类学习资源通道汇总
- maven Spring 4.2+SpringMVC+dubbo解决TypeProxyInvocationHandler.invoke(SerializableTypeWrapper.java:239
- Java线程池
- [leetcode]335. Self Crossing