牛客题霸-斐波那契数列题解

2 篇文章 0 订阅
1 篇文章 0 订阅

链接:https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=117&&tqId=34987&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking

这是一道比较经典的题目,主要考察的就是递归概念,用前两个数字得到第三个数字即第一个数字 + 第二个数字 = 第三个数字,第二个数字 + 第三个数字 = 第四个数字 依次递推,只要明白其中原理即可。

class Solution {
public:
int Fibonacci(int n) {

 if (n == 1 || n == 2) return 1;//1、1、2、3、5、8、13、21、34
  if (n == 3) return 2;
 vector<int> F(3);
 F[0] = 1;
 F[1] = 1;
 F[2] = 2;
 for (int i = 3; i < n; ++i) {
  F[i % 3] = F[(i - 1) % 3] + F[(i - 2) % 3];


 }
 return F[(n - 1) % 3];
        
    }
};
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值