70. Climbing Stairs

1.描述

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.

2.分析

递推
f(1) = 1;
f(2) = 2;
f(n) = f(n-2) + f(n-1);

3.代码

int climbStairs(int n) {
    if (1 == n) return 1;
    if (2 == n) return 2;
    
    int f1 = 1;
    int f2 = 2;
    int f3 = 0;
    for (unsigned int i = 3; i <= n; ++i) {
        f3 = f1 + f2;
        f1 = f2;
        f2 = f3;
    }
    return f3;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,968评论 0 23
  • PLEASE READ THE FOLLOWING APPLE DEVELOPER PROGRAM LICENSE...
    念念不忘的阅读 13,564评论 5 6
  • 昨天心情很好,昨天做了四个单子。而且这四个单子花了我很短的时间,可以说每个客户差不多就打了二个电话这样,昨天打了,...
    林玉珍阅读 512评论 4 4
  • 有没有这么一种职业,专门提供点子? 又到了找工作的年纪,感觉自己是市场上的白菜,每次拿到集市上,都把自己剥一层皮,...
    Transnet2014阅读 284评论 1 4
  • 打我记事起,家里就有一台“机子”,就是缝纫机,村里人都这么叫。那是家里最像样的摆设。闲时,机子上面罩着个蓝色布套,...
    ruxin_7a8e阅读 493评论 1 0