第十八周 动态规划
来源:互联网 发布:手机gps虚拟定位软件 编辑:程序博客网 时间:2024/05/20 23:02
算法题目 :Climbing Stairs
算法题目描述:
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Note: Given n will be a positive integer.
算法分析:
这个题目是一个计算n层阶梯情况下,走到顶端的路径种数(要求每次只能上1层或者2层阶梯)。
这是一个动态规划的题目:
n = 1 时 ways = 1;
n = 2 时 ways = 2;
n = 3 时 ways = 3;
n = k 时 ways = ways[k-1] + ways[k-2];
明显的,这是著名的斐波那契数列问题
算法代码(C++):
class Solution {public: int climbStairs(int n) { if (n <= 0) return 0; else if (n == 1) return 1; else if (n == 2) return 2; int *r = new int[n]; r[0] = 1; r[1] = 2; for (int i = 2; i < n; i++) r[i] = r[i - 1] + r[i - 2]; int ret = r[n - 1]; delete []r; return ret; }};
阅读全文
0 0
- 第十八周 动态规划
- 第十八周
- 第十八周
- 第十八周项目1-1:动态链表体验
- 第十八周项目1-2:动态链表查找
- 第十八周项目一(0):动态链表体验
- 第十五周 动态规划
- 第十六周 动态规划
- 第十七周 动态规划
- 动态规划!!!动态规划!!!
- 第十八周总结
- 第十八周作业 1.0
- 第十八周工作总结
- 第十八周工作日志
- leetcode-第十八周
- 第十八周leetcode题
- 第十八
- 第十二周 动态规划(二)
- 个人小作品之迷你音乐播放器(移动端)
- QTableWidget如何实现换行功能?
- 系统分析与设计学习笔记(六)包图
- 版本回退
- 遍历文件夹
- 第十八周 动态规划
- IntelliJIDEA搭建使用MavenSSM框架
- java中使用j2SE自带的SAX解析XML文件
- 接触fpga
- Spring Tool Suite创建Web项目(学习Maven和Spring)
- Thinking in java-34 Exception异常处理
- Linux安装jdk
- AE10.2与C#2012开发
- STM32-PWM模式设置