509.[leetcode]C++实现斐波纳契数(Fibonacci Number)

(一)题目描述

(二)思想方法

1.首先想到的是迭代法,f(n)=f(n-1)+f(n-2)但是有重复计算.

2.for循环记录上一次的f(n-2)

(三)代码实现

//第一种
int Solution::fib(int N)
{
if (N == 0)
		return 0;
	if (N == 1)
		return 1;
	else
	{
		return fib(N - 1) + fib(N - 2);
	}
}
2.第二种class Solution {
public:
    int fib(int N) {
   if (N == 0)
		return 0;
	if (N == 1)
		return 1;
	
	int temp=0,temp1,sum = 1;
	for (int i = 2; i <= N; i++)
	{
		
			temp1 = sum;
		sum = sum + temp;
		temp = temp1;
	}
	return sum;

}
};

猜你喜欢

转载自blog.csdn.net/guaiguaitinghua/article/details/91048698