70. Climbing Stairs
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.
思路:到第n个台阶的迈法种数=到第n-1个台阶的迈法种数(再往上迈一步)+到第n-2个台阶的迈法种数(再往上迈两步)。斐波那契数列的问题。
class Solution {
public:
int climbStairs(
int n)
{
int f1=
0;
int f2=
1;
int sum=
0;
for(
int i=
0;i<n;i++
)
{
sum=f1+
f2;
f1=
f2;
f2=
sum;
}
return sum;
}
};
转载于:https://www.cnblogs.com/vincent93/p/6686642.html
相关资源:JAVA上百实例源码以及开源项目