目录
一、斐波那契数列
解法一:递归:
class Solution {
public:
int Fibonacci(int n) {
if (n==1 || n==2)
{
return 1;
}
return Fibonacci(n-1) + Fibonacci(n-2);
}
};
解法二:迭代
class Solution {
public:
int Fibonacci(int n) {
int f = 0, g = 1;
while(n--) {
g += f;
f = g - f;
}
return f;
}
};
二、跳台阶
思路:最后一步一定是是跳一阶或两阶,如果为一阶:那么总跳法为前n-1的跳法。如果为两阶:那么总跳法为前n-2的跳法。
所以跳台阶就类似于斐波那契数列!
class Solution {
public:
int jumpFloor(int number) {
if (number == 1 || number == 2)
{
return number;
}
return jumpFloor(number-1) + jumpFloor(number-2);
}
};