您的位置:首页 > 其它

斐波纳契数列

2016-04-10 23:36 225 查看
class Solution{
public:
/**
* @param n: an integer
* @return an integer f(n)
*/
int fibonacci(int n) {
/*第一种方法: 耗时很长,会超时。 // write your code here
if(n == 1) return 0;
if(n == 2) return 1;
if(n >= 3)
return fibonacci(n-1) + fibonacci(n-2);
*/
/*
//第二种方法:用数组来存储数据:
vector<int> result;
result[0] = 0;
result[1] = 1;

for(int i=2;i<result.size();i++){
result[i]=result[i-1]+result[i-2];
}

return result[n-1];
*/

//第三种方法:
int result;
if(n == 1)
return 0;
if(n == 2)
return 1;
int a = 0;
int b = 1;
for(int i=3;i<=n;i++ ){
result = a+b;
a = b;
b = result;
}

return result;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: