# leetcode #70 in cpp

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?

Solution:

Code:

class Solution {
public:

int climbStairs(int n) {
vector<int> dp(n+1,0);//dp[i] = distinct ways from i to n
if(n-1 >= 0) dp[n-1] = 1;//position with 1 step from destination. only 1 way to reach the destination
if(n-2 >= 0) dp[n-2] = 2;//position with 2 steps from destination. only 2 way to reach the destination;
for(int i = n-3; i >=0 ; i --){
dp[i] = dp[i+2]+dp[i+1];//distinct ways from position i to n: 1. we take one step to i+1; 2. we take 2 steps to i+2
}                            //thus distinct ways from position i to n is the sum of the ones at i+1 and i+2
return dp[0];

}
};

• 本文已收录于以下专栏：

## 爬楼梯（leetcode-70）

• u013632190
• 2016年07月27日 23:42
• 690

## leetcode 70 Climbing Stairs

Climbing Stairs                       You are climbing a stair case. It takes n steps to reach t...
• wangyaninglm
• 2015年04月29日 17:46
• 2817

## leetcode70题 题解 翻译 C语言版 Python版

70. Climbing Stairs You are climbing a stair case. It takes n steps to reach to the top. Eac...
• yingzinanfei
• 2016年02月13日 17:21
• 1053

## Weekly Contest 70 leetcode 779. K-th Symbol in Grammar

On the first row, we write a 0. Now in every subsequent row, we look at the previous row and repla...
• huanghanqian
• 2018年02月04日 18:40
• 171

## LeetCode-70 Climbing Stairs(斐波那契数列)

LeetCode-70 Climbing Stairs(斐波那契数列) You are climbing a stair case. It takes n steps to reach to the...
• u011035622
• 2015年05月02日 11:35
• 598

## LeetCode（70） Climbing Stairs

• fly_yr
• 2015年08月19日 21:54
• 2787

## leetcode之70. Climbing Stairs(C++解法 动态规划思想)

• haimianxiaodao
• 2016年09月21日 15:19
• 354

## LeetCode 70 Climbing Stairs(Python详解及实现)

【题目】 You are climbing a stair case. It takes nsteps to reach to the top.   Each time you can eith...
• yangjingjing9
• 2017年08月05日 12:56
• 273

## LeetCode 70

Climbing Stairs 这个题的意思是爬阶梯，一次可以爬两个台阶或者一个台阶，问有多少种方法爬到顶。这确实是个easy的问题，见过这种问题的人可能很快就能写出代码，因为这个问题就是斐波拉写数...
• zr1076311296
• 2016年07月06日 23:44
• 824

## leetcode 70

You are climbing a stair case. It takes n steps to reach to the top. Each time you can either cli...
• weixin_35656147
• 2017年04月03日 12:31
• 55

举报原因： 您举报文章：leetcode #70 in cpp 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)