70. Climbing Stairs
来源:互联网 发布:中国依赖进口数据 编辑:程序博客网 时间:2024/05/17 10:08
题目:Climbing Stairs
原题链接:https://leetcode.com/problems/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?
假设你正在上台阶,一共有 n 阶。每一次你可以选择迈 1 级台阶或者 2 级台阶,一共有多少中不同的登法?
又是一条经典的动态规划题。
设一个数组dp[ n + 1 ],dp[ i ]表示登上第 i 级台阶的方法数。
很明显dp[ 0 ] = dp[ 1 ] = 1, dp[ 2 ] = 2;
对于任意的第 i 级台阶,它可以从第 i - 1 级台阶迈一级台阶跨上,也可以从第 i - 2 级台阶迈两级台阶跨上。
即 dp[ i ] = dp[ i - 1 ] + dp[ i - 2 ]。
一直循环置i == n,就是结果。
代码如下:
class Solution {public: int climbStairs(int n) { if(n == 1 || n == 0) return 1; else if(n == 2) return 2; int dp[n + 1]; dp[1] = 1, dp[2] = 2; for(int i = 3; i <= n; ++i) dp[i] = dp[i - 1] + dp[i - 2]; return dp[n]; }};
0 0
- [LeetCode]70.Climbing Stairs
- 70.Climbing Stairs
- LeetCode --- 70. Climbing Stairs
- [Leetcode] 70. Climbing Stairs
- [leetcode] 70.Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- 70.Climbing Stairs
- 70. Climbing Stairs
- [leetCode]70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs LeetCode
- 70. Climbing Stairs
- 70. Climbing Stairs
- 70. Climbing Stairs
- [LeetCode]70. Climbing Stairs
- 【LeetCode】70. Climbing Stairs
- 70. Climbing Stairs
- 计算机基础的总结
- bin.sh not found
- cc150 1.2 Check Permutation(排列)
- 怎么开发微信公众号
- 实现mysql与sqlite数据互导
- 70. Climbing Stairs
- PHP背景水印图片生成代码
- Java 环境变量配置
- Maven丢失jdk.tools.jar
- plqsl中游标的出入控制
- 除法的用法,在变量后面加个 .
- 求数组中的最大值 —用递归算法求数组中的最大值。
- 2016.9.28
- error LNK1123:转换到COFF期间失败,文件无效或损坏