斐波纳契数列-LintCode

来源:互联网 发布:淘宝收藏量什么意思 编辑:程序博客网 时间:2024/06/01 09:40

查找斐波纳契数列中第 N 个数。
所谓的斐波纳契数列是指:
前2个数是 0 和 1 。
第 i 个数是第 i-1 个数和第i-2 个数的和。
斐波纳契数列的前10个数字是:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …

示例:
给定 1,返回 0
给定 2,返回 1
给定 10,返回 34

非递归:

#ifndef C366_H#define C366_H#include<iostream>#include<vector>using namespace std;class Solution {public:    /*    * @param n: an integer    * @return: an ineger f(n)    */    int fibonacci(int n) {        // write your code here        vector<int> v;         if (n == 1)            return 0;        if (n == 2)            return 1;        v.push_back(0);        v.push_back(1);        while (v.size() < n)        {            v.push_back(v[v.size() - 1] + v[v.size() - 2]);        }        return v[n - 1];    }};#endif
原创粉丝点击