当前位置: 首页 > news >正文

LeetCode 剑指 Offer 10- I. 斐波那契数列

LeetCode 剑指 Offer 10- I. 斐波那契数列

题目描述

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:

F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

这道题是再正常的斐波那契数列的基础上加上取模1e9+7, 其实就是很容易进入盲区(我求出最后的结果在去取模就可以了),当基数不是很大的时候这样想没错,基数很大的时候按照上面的公式计算中间过程数量就会超过类型最大长度,所以正确的做法是在处理过程中就取模,这样就不会造成超时错误了

在这里插入图片描述

题解

c++

class Solution {
public:int fib(int n) {if(n == 0)return 0;vector<int> ans(n + 1);ans[0] = 0;ans[1] = 1;for (int i = 2; i <= n; i++) {ans[i]  = (ans[i - 1] + ans[i - 2]) % 1000000007;}return ans[n];}
};

Go

func fib(n int) int {const mod int = 1e9 + 7if n < 2 {return n}p, q, r := 0, 0, 1for i := 2; i <= n; i++ {p = qq = rr = (p + q) % mod}return r
}
http://www.lryc.cn/news/154007.html

相关文章:

  • Css 将某div设置为透明,但其子元素不透明
  • 17 | Spark中的map、flatMap、mapToPair mapvalues 的区别
  • 手写Mybatis:第9章-细化XML语句构建器,完善静态SQL解析
  • 云原生Kubernetes:Kubeadm部署K8S单Master架构
  • 鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
  • 开发指导—利用 CSS 动画实现 HarmonyOS 动效(二)
  • 音频修复和增强工具 iZotope RX 10 for mac激活最新
  • SpringMVC的简介及工作流程
  • JVM垃圾回收机制和常用算法(简洁版)
  • C/C++源程序到可执行程序exe的全过程(及汇编和反汇编的区别)
  • 信创优选,国产开源。Solon v2.5.3 发布
  • ElementUI浅尝辄止25:MessageBox 弹框
  • ElasticSearch简介
  • 基于亚马逊云科技打造的游戏AIGC专业版,创梦天地快速上线AI生图服务
  • Debian离线安装mysql
  • Linux代码初试__进度条
  • 美国访问学者签证有哪些要求?
  • 如何利用客户旅程打造好的用户体验?
  • 数据治理-数据质量-1
  • 第 3 章 栈和队列 (循环队列)
  • boost::any 与 boost::any_cast
  • go 、rust、python 语言 编码效率、性能比较
  • 怎么把pdf转换成高清图片?
  • 尚硅谷大数据项目《在线教育之离线数仓》笔记006
  • 企业架构LNMP学习笔记2
  • AI「反腐」,德国马普所结合 NLP 和 DNN 开发抗蚀合金
  • 9-AJAX-2综合案例
  • 力扣:86. 分隔链表(Python3)
  • 联合教育部高等学校科学研究发展中心,阿依瓦科技创新教育专项正式发布!
  • Ubuntu入门05——磁盘管理与备份压缩