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

news/2025/2/14 2:48:52/

题目: 写一个函数,输入 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。

示例 1:

输入:n = 2
输出:1

示例 2:

输入:n = 5
输出:5

思路:

使用vector数组的方式,数组初始化为-1,每次计算的值存到数组中,这样就避免了重复计算。

class Solution {
public:int fib(int n, vector<int>& res) {if (n == 0 || n == 1)return n;if (res[n]!=-1) {return res[n];}int sum = (fib(n - 1, res) + fib(n - 2, res)) % 1000000007;res[n] = sum;return sum;}
};int main() {int n = 5;Solution ss;vector<int> res(n + 1, -1);cout << ss.fib(n,res) << endl;return 0;
}

http://www.ppmy.cn/news/96653.html

相关文章

Java的反射机制(2)

目录 Class类基本介绍 Class类的常用方法 如何获取class类对象 哪些类型有Class对象 Class类基本介绍 在Java语言中&#xff0c;每个对象都有一个运行时类&#xff0c;即其所属的类。而这个运行时类在Java中是以Class类的实例形式存在的&#xff0c;该Class类实例就是所谓的…

全国第六届研究生数学建模竞赛-枪弹头痕迹特征的提取与识别

目录 摘 要: 1 问题概述 1.1 研究背景 1.2 国内外弹痕检测产品行业概况及发展前景[1- 3]

JavaScript之DOM基础

1. 初识DOM DOM: 文档对象模型 是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准编程接口。 w3c已经定义了一系列的DOM接口&#xff0c;通过这些DOM接口可以改变网页的内容&#xff0c;结构和样式。 DOM树&#xff1a;文档&#xff1a;一个页面就是一个文档, DOM中使用d…

数组(1)

文章目录 目录1. 一维数组的创建和初始化1.1 一维数组的创建1.2 一维数组的初始化 2. 一维数组的使用3. 一维数组在内存中的存储4. 二维数组的创建和初始化4.1 二维数组的创建4.2 二维数组的初始化 5. 二维数组的使用6. 二维数组在内存中的存储7. 数组越界8. 数组作为函数参数 …

RabbitMQ的一些问题

什么是RabbitMQ&#xff1f; RabbitMQ是一款开源的&#xff0c;Erlang编写的&#xff0c;基于AMQP协议的消息中间件 rabbitmq 的使用场景 &#xff08;1&#xff09;服务间异步通信 &#xff08;2&#xff09;顺序消费 &#xff08;3&#xff09;定时任务 &#xff08;4&#x…

linux网络初探

linux网络 1.1查看本机ip IP地址 IP地址网络地址主机地址&#xff0c;网络地址&#xff08;网络号&#xff09;相同的主机为本地网络中的主机&#xff0c;可以直接相互通信&#xff0c;而网络地址不同的主机为远程网络中的主机&#xff0c;相互通信必须通过本地网关&#xf…

玄子Share - IDEA 2023.1 自定义 代码模板(Servlet)

玄子Share - IDEA 2023.1 自定义 代码模板&#xff08;Servlet&#xff09; 23版 IDEA 内取消了自动生成 Servlet 模板类&#xff0c;不过我们可以自己定义一个 Servlet 模板 步骤 第一步打开 IDEA 设置界面&#xff0c;编辑器 -> 文件和代码模板 -> 点击加号新建模板…

unity中的SendMessage详解

介绍 SendMessage是Unity中用于在游戏对象之间发送消息的函数。通过SendMessage函数&#xff0c;可以在游戏对象之间调用方法&#xff0c;从而实现脚本之间的通信。SendMessage方法可以用于调用任何公共方法&#xff0c;不仅限于MonoBehaviour脚本中的方法。 方法 SendMessa…