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;
}
网友评论