70. Climbing Stairs
2017-09-13 17:09
267 查看
爬楼梯问题:假设你正在爬楼梯,可以在n步之内到达顶端,但每次你只能爬1步或2步,求到达顶端的不同方法的个数。
这道题的第一个解法是我无意间发现的,我从n=1算到n=4,发现答案其实是一个斐波那契数列,所以就有递归和循环两种解法,亲测递归的解法会发生超时,所以这里不再给出递归的解法。
第一种方法的提交结果如图所示,感觉一般般。
第二种解法是基于动态规划的思想:
当n=1,ways=1
当n=2,ways=2
当n=3,ways=3
.....
当n=k,ways(k)=ways(k-1)+ways(k-2)
于是第二种解法是基于动态规划的方法:
这种方法的提交结果如图所示,感觉效果还是一般般把。
感觉方法都是正确的,至于为什么效率这么低,考虑到可能是编程语言的问题,换了下C语言,同样的动态规划的算法的结果如图所示:
这道题的第一个解法是我无意间发现的,我从n=1算到n=4,发现答案其实是一个斐波那契数列,所以就有递归和循环两种解法,亲测递归的解法会发生超时,所以这里不再给出递归的解法。
第一种方法的提交结果如图所示,感觉一般般。
第二种解法是基于动态规划的思想:
当n=1,ways=1
当n=2,ways=2
当n=3,ways=3
.....
当n=k,ways(k)=ways(k-1)+ways(k-2)
于是第二种解法是基于动态规划的方法:
这种方法的提交结果如图所示,感觉效果还是一般般把。
感觉方法都是正确的,至于为什么效率这么低,考虑到可能是编程语言的问题,换了下C语言,同样的动态规划的算法的结果如图所示:
相关文章推荐
- 70. Climbing Stairs
- leetcode 每日一题 70. Climbing Stairs
- LeetCode *** 70. Climbing Stairs
- 70. Climbing Stairs
- [leetcode] 70. Climbing Stairs
- 70. Climbing Stairs
- leetcode之70. Climbing Stairs(C++解法 动态规划思想)
- leetcode_70. Climbing Stairs 爬楼梯,非递归算法
- 70. Climbing Stairs
- 70. Climbing Stairs
- [leetcode]70. Climbing Stairs(Java)
- 70. Climbing Stairs
- 70. Climbing Stairs
- [leetcode]70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs(爬楼梯)
- 38.leetCode 70. Climbing Stairs
- LeetCode 70. Climbing Stairs(爬梯子)
- LeetCode --- 70. Climbing Stairs
- Leetcode:70. Climbing Stairs(JAVA)