LeetCode No.22 爬楼梯

1.LeetCode70题目链接

https://leetcode-cn.com/problems/climbing-stairs/

2.解题思路

假设一共爬n个台阶,一共有f(n)种结果,假设第一次爬一个台阶,一共有f(n-1)。若第一次爬两个台阶,一共有f(n-2)。f(n) = f(n-1) + f(n-2)。可以看出这个求斐波那契数列和。

 public int climbStairs(int n) {
        int a = 1, b = 1;
        int sum = 0;
        for(int i = 0; i < n - 1; i++){
            sum = a;
            a = a + b;
            b = sum;
        }
        return a;
    }

3.结果

image
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容