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

python--剑指offer--10- I. 斐波那契数列

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。

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

示例 1:

输入:n = 2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1
示例 2:

输入:n = 3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2
示例 3:

输入:n = 4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3

提示:

0 <= n <= 100

class Solution:
    def fib(self, n: int) -> int:
        if n <= 1:
            return n
        res = (self.fib(n-1) + self.fib(n-2)) % (1e9+7)
        return res


class Solution:
    def fib(self, n: int) -> int:
        if n <= 1:
            return n
        x, j = 0, 1
        cur = 2
        value = None
        while cur <= n:
            value = int((x + j) % (1e9 + 7))
            x, j = j, value
            cur += 1
        return value

http://www.kler.cn/a/271793.html

相关文章:

  • 【信息系统项目管理师-选择真题】2007下半年综合知识答案和详解
  • 【Redis】List 类型的介绍和常用命令
  • ORA-04031 错误
  • React应用深度优化与调试实战指南
  • 互联网概述
  • Vue.js组件开发-实现对视频预览
  • AtCoder ABC344 A-E题解
  • Gogs 创建新的仓库并提交代码
  • 链式二叉树--前序中序后序遍历,高度,节点个数问题
  • MyFileServer
  • 口腔管理平台 |基于springboot框架+ Mysql+Java+B/S结构的口腔管理平台 设计与实现(可运行源码+数据库+lw文档)
  • 唯一约束
  • PCM和I2S区别
  • 快速去除或提取视频中的任何声音,你学会了吗
  • linux解析域名指令 nslookup 或者 host
  • C++:菱形继承与虚继承
  • 数据分析 | NumPy
  • 爬虫的基本原理介绍,实现以及问题解决
  • Linux——线程池
  • C/C++整数和浮点数在内存中存储
  • Linux学习(4)——使用编辑器
  • 第十三届蓝桥杯省赛C++ C组《全题目+题解》
  • Xlua - 集成rapidjson(json序列化)
  • 力扣111---二叉树的最小深度(简单题,Java,递归+非递归)
  • 用户数据的FLASH存储与应用(FPGA架构)
  • matlab去除图片上的噪声