NO.8 week10 Climbing Stairs
来源:互联网 发布:高级sql编程 编辑:程序博客网 时间:2024/06/04 19:09
2、How to Solve
思路一:假设S(n) 代表climb n steps有S(n)种ways,那么S(n) = S(n-1)+ S(n-2) -------斐波那契数列
起始:S(1) = 1
S(2) = 2
然后从后往前(从n开始往前算)。
分析:从后往前递归迭代,虽然思路很清晰,但是相同的子问题需要计算多次。比如:
S(n) = S(n-1) + S(n-2)
S(n-1) = S(n-2) + S(n-3)
S(n-2) = S(n-3) + S(n-4)
.......
计算S(n)的时候要计算一遍S(n-1)和一遍S(n-2)
而计算第一遍S(n-1) 的时候,S(n-2)已经计算了第二遍了。当n - 2很大的时候,S(n-2)又要往回由S(n-3)和S(n-4)得到....指数增长。
程序很耗时,复杂度大。
思路二:从前往后计算(从S(1)开始):
分析:显然每个n值只需要计算相对应的S(n)值一次,程序运行时间明显提高。
图二中注释部分为思路一,下面为思路二。
0 0
- NO.8 week10 Climbing Stairs
- Leetcode NO.70 Climbing Stairs
- LeetCode--No.70--Climbing Stairs
- LeetCode No.70 Climbing Stairs
- 【LeetCode】No.70 Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- Climbing Stairs
- js知识点
- 欢迎使用CSDN-markdown编辑器
- C++ fstream读写文件
- vi-vim常用命令大全
- 数据结构(3):串
- NO.8 week10 Climbing Stairs
- 紫书第一章训练1 D -Message Decoding
- MindManager——做计划、策划的最佳工具之一!
- 计算机视觉与图像处理方面的顶级期刊
- 【LeetCode刷题记录】7.Reverse Integer
- Android上SQLite的基本应用(一)
- java静态初始化块、普通初始化块、构造器执行顺序
- ng-message 表单验证
- python数据分析学习资料