70. Climbing Stairs(easy, 号称 Dynamic Programming 天下第一题)
2024-10-16 21:43:47
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.
https://mp.weixin.qq.com/s/0AgJmQNYAKzVOyigXiKQhA, 动态规划入门最好材料,也是该题个人认为最完美的解释,没有之一! 非常感谢该文章的作者和发给我文章的张春玲老师!
自个代码:
\(O(n)\) time, \(O(1)\) extra space.
// A textbook style question for Dynamic Programming.
// I like it!
int climbStairs(int n) {
// boundarys
if (n == 1) return 1;
if (n == 2) return 2;
// state transfer formula
int a = 1, b = 2, temp;
for (int i = 3; i <= n; i++) {
temp = a + b;
a = b;
b = temp;
}
return temp;
}
最新文章
- Webview和Html
- ccpcfinal总结
- cacti结合nagios
- Swift-----类型转换 、 嵌套类型 、 扩展 、 协议 、 访问控制
- filter, sort
- jQuery遍历table
- ADB logcat 过滤方法(抓取日志)
- 使用2DToolkit报错“ OverflowException: Value is too large”
- React翻译官网文档之JSX
- 201521123030《Java程序设计》第5周学习总结
- jQuery中的val()
- python捕获异常、处理异常
- 【集训队作业2018】取名字太难了 任意模数FFT
- vim编辑器的命令总结
- CSS布局 两列布局之单列定宽,单列自适应布局思路
- python程序—封装案例
- Java 内存模型和硬件内存架构笔记
- Httpclient超时timeout设置
- 详解tween.js 中文使用指南
- What Would you Find out about MS908CV ?