首页 > 其他分享 >剑指 Offer 10- I. 斐波那契数列

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

时间:2023-08-04 12:35:37浏览次数:41  
标签:10 return 数列 int 1000000007 斐波 那契

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

class Solution {
    public int fib(int n) {
        //第一种写法,但是超出了时间限制
        // if(n==0) return 0;
        // if(n==1) return 1;
        // return fib(n-1)+fib(n-2);
        //使用双指针方法,左指针代表第一个数,右指针代表第二个数,r=p+q
        if(n==0) return 0;
        if(n==1) return 1;
        //按照题意当我们大于1000000007的时候,需要取到它的余数
        int mod = 1000000007;
        int p = 0 , q = 1 , r = p + q , i = 2;
        while(i < n){
            p = q ;
            q = r ;
            r = (p + q) % mod;
            i++;
        }
        
        return r;
    }
}

标签:10,return,数列,int,1000000007,斐波,那契
From: https://www.cnblogs.com/xiaochaofang/p/17605565.html

相关文章

  • 反内卷 | Java程序员不可错过的10本书!
    大家好,我是飘渺。又到了一年一度的双11了,想必不少小伙伴打算趁此机会入手几本好书。在此我也为大家整理了一份书单,如果你还在纠结犹豫,不妨看看我为整理的这几本。PS:今年京东的图书活动大致如下:活动一“多买优惠”,即:1件7.5折,两件6.5折活动二:“满减”,即:每满100-50这两个活动结算的时......
  • 20天 hot 100 速通计划-day02
    双指针15.三数之和给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-......
  • 100道Python练习题
    100道Python练习题,希望对你的学习有所帮助!编写一个程序,输入两个数并计算它们的和。编写一个程序,输入一个字符串,并倒序输出该字符串。编写一个程序,判断一个数是否为质数。编写一个程序,计算并输出斐波那契数列的前n项(n由用户输入)。编写一个程序,判断一个字符串是否为回文串。编写一个......
  • Blazor前后端框架Known-V1.2.10
    V1.2.10Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。Gitee:https://gitee.com/known/KnownGithub:https://github.com/known/Known概述基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用。跨平台,单页应用,混合桌面应用,Web和桌面......
  • 暑假集训D10 2023.8.3 补题
    D.DnDDice给出分别有不同个数的\(4,6,8,12,20\)面骰子,\(k\)面骰子的每个面的点数分别是\(1~k\).问用上所有骰子能组合出来的情况的概率从大到小排序,如果有相同的可能性的情况,按任意顺序即可.\(\operatorname{Solution}\)可以将骰子两两合并,合并后的骰子大小为\([m......
  • 【总结】超1000页有三AI文档资源领取方法汇总!
    这几年我们平台输出了很多内容,有免费的也有付费的,有图文也有视频,本次对我们所有文档类资源领取方法做一个汇总。有三的书相关资料至今有三已经出版了4本书,分别是《深度学习之图像识别》,《深度学习之模型设计》,《深度学习之人脸图像处理》,《深度学习之摄影图像处理》,介绍如下:一些书......
  • [Ynoi2010] y-fast trie(multiset+思维)
    题目传送门solution妙妙题。分成\(a+b\geqC\)和\(a+b<C\)讨论。第一类是简单的,只需要选择最大和次大的数就行了。第二类加入是容易的,但是有删除。常规做法是线段树分治+\(multiset\),不能在线。考虑一个性质:如果对于\(x\),小于等于\(C-1-x\)的最大的\(y\)记作\(m......
  • 【THM】OWASP 前10名—2021
    参考链接:https://www.cnblogs.com/Hekeats-L/p/16964401.html介绍该房间对每个OWASP主题进行了详细分析,并包含有关漏洞、它们如何发生以及如何利用它们的详细信息。您将通过完成支持性挑战将理论付诸实践。访问控制损坏加密失败注射不安全的设计安全配置错误易受攻击......
  • LeetCode 热题 100 之 48. 旋转图像
    题目给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转90度。你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。提示:n==matrix.length==matrix[i].length1<=n<=20-1000<=matrix[i][j]<=......
  • C# MVC 自学笔记—10 在 ASP.NET MVC 中使用页面检查器
    VisualStudio2012年页督察是与集成的浏览器的web开发工具。中集成浏览器中,选择任意元素,页面检查器立即突出显示该元素的源代码和CSS。可以浏览任何MVC视图、快速查找呈现标记的来源和使用右内的VisualStudio环境浏览器工具。观看视频本教程演示如何启用检查模式,然后快......