LeetCode 70. Climbing Stairs (Easy)
来源:互联网 发布:博微预算软件 编辑:程序博客网 时间:2024/05/29 05:55
题目描述:
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.
Example:
Example 1:Input: 2Output: 2Explanation: There are two ways to climb to the top.1. 1 step + 1 step2. 2 stepsExample 2:Input: 3Output: 3Explanation: There are three ways to climb to the top.1. 1 step + 1 step + 1 step2. 1 step + 2 steps3. 2 steps + 1 step
题目大意:爬楼梯,一次可以爬一层或者两层,问爬到n层有多少种爬法
思路:终于有一道会做的dp了…..很感动,因为一眼看出来是个dp(状态的定义和转移很明显)。要达到n层,上一层一定在n-1层或者n-2层,以此推回去,就可以得到状态转移方程:dp[n] = dp[n - 1] + dp[n - 2],第2层可以从第0层或者第1层到达,以此开始dp的迭代就可以了。
c++代码:
class Solution {public: int climbStairs(int n) { int dp[n + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return dp[n]; }};
阅读全文
0 0
- [leetcode][easy]70. Climbing Stairs
- (Leetcode)70.Climbing Stairs(easy)
- LeetCode 70. Climbing Stairs (Easy)
- Leetcode 70. Climbing Stairs (Easy) (cpp)
- LeetCode解题报告 70. Climbing Stairs [easy]
- Leetcode: 70. Climbing Stairs(Week1, Easy)
- 70. Climbing Stairs (Easy)
- 70. Climbing Stairs -Easy
- [Leetcode 70, easy] Climbing Stairs
- 【LeetCode】(70)Climbing Stairs (Easy)
- Leetcode #70 - Climbing Stairs - Easy
- 【Leetcode-Easy-70】Climbing Stairs
- 70. Climbing Stairs [easy] (Python)
- 70. Climbing Stairs(Easy)
- Leetcode解题笔记 70. Climbing Stairs [Easy] 动态规划
- [LeetCode]70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- 搜索系统17:HttpClient的网络连接是否被复用了
- python字符串截取与替换
- 用户信息验证
- MySql 中int 数据类型 存储长度 与显示长度
- Ubuntu16.04 PCL1.8.1源码安装
- LeetCode 70. Climbing Stairs (Easy)
- 萌新又试水了,这是第一个做好的程序
- 网络编程
- python 单下划线/双下划线使用总结
- 函数基础--函数的定义和调用,参数与返回值
- 软件开发人员常用网站整理
- 前端面试题之HTTP协议类
- SecureCRT 8.0 64位 安装教程
- 2017 ICPC 沈阳 C 计算几何