【Leetcode】之Climbing Stairs

原创 2016年06月01日 11:35:48

一.问题描述

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?

二.我的解题思路

这道题也很简单,一眼看上去很容易想到用递归的算法去做:T(n)=T(n-1)+T(n-2)。不过如果这样写递归式的话,算法复杂度比较高,有很多重复的子问题。那么此时要想到动态规划的算法,从底向上去做。那么就很容易可以写出测试程序如下:

class Solution {
public:
    int climbStairs(int n) {
        vector<int> tmp(n+1,0);
        tmp[0]=1;tmp[1]=1;
        if(n<=0) return 0;
        if(n<2) return tmp[n];
        int cnt=2;
        while(cnt<=n){
            tmp[cnt]=tmp[cnt-1]+tmp[cnt-2];
            cnt++;
        }
        return tmp[n];
    }
};


LeetCode(70) Climbing Stairs

题目You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb...
  • fly_yr
  • fly_yr
  • 2015年08月19日 21:54
  • 2784

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
  • yangjingjing9
  • 2017年08月05日 12:56
  • 273

LeetCode | 746. Min Cost Climbing Stairs | 简单DP上楼梯问题

746. Min Cost Climbing Stairs My SubmissionsBack to Contest ·       User Accepted:995 ·      ...
  • u012737193
  • u012737193
  • 2017年12月21日 19:51
  • 120

LeetCode | Climbing Stairs

题目: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either...
  • lanxu_yy
  • lanxu_yy
  • 2013年09月19日 23:35
  • 8554

LeetCode Climbing Stairs 递归求解和动态规划法

简单题目,相当于fibonacci数列问题,难点就是要会思维转换,转换成为递归求解问题,多训练就可以了。 所以这种类型的题目相对于没有形成递归逻辑思维的人来说,应该算是难题。 我的想法是: 每次有两种...
  • kenden23
  • kenden23
  • 2013年12月21日 08:13
  • 17388

Climbing Stairs -- LeetCode

原题链接: http://oj.leetcode.com/problems/climbing-stairs/  这道题目是求跑楼梯的可行解法数量。每一步可以爬一格或者两个楼梯,可以发现,递推式是f(n...
  • linhuanmars
  • linhuanmars
  • 2014年04月18日 00:54
  • 9784

【LeetCode】746.Min_Cost_Climbing_Stairs

On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pa...
  • u012509485
  • u012509485
  • 2017年12月18日 20:00
  • 388

70. Climbing Stairs [easy] (Python)

题目链接https://leetcode.com/problems/climbing-stairs/题目原文 You are climbing a stair case. It takes n s...
  • coder_orz
  • coder_orz
  • 2016年05月26日 13:10
  • 1519

LeetCode 746. Min Cost Climbing Stairs

LeetCode 746. Min Cost Climbing Stairs题目描述:On a staircase, the i-th step has some non-negative cost ...
  • Next_Second
  • Next_Second
  • 2017年12月21日 11:33
  • 1247

LeetCode 70 — Climbing Stairs(C++ Java Python)

题目:http://oj.leetcode.com/problems/climbing-stairs/ You are climbing a stair case. It takes n steps...
  • dragon_dream
  • dragon_dream
  • 2014年03月20日 22:17
  • 2997
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Leetcode】之Climbing Stairs
举报原因:
原因补充:

(最多只允许输入30个字)