立志用最少的代码做最高效的表达


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

提示:
0 <= n <= 100


    class Solution {public int fib(int n) {int a = 1, b = 1, temp;if(n == 0) return 0;if(n == 1 || n == 2) return 1;for(int i = 2; i < n; i++) {temp = a;a = (a + b)%1000000007;b = temp;}return a;}}

【双百解法】剑指 Offer 10- I 斐波那契数列相关推荐

  1. 剑指offer Q10 -I 斐波那契数列

    思路 本题看起来是简单题,但是实际上对性能和结果都有要求 直接使用递归写法性能上是不能通过的.只能使用迭代写法,通过两个变量re1和re2来保存前一步和前前一步的结果,最后返回re2即可.但是注意,本 ...

  2. 剑指Offer_入门_JZZ_斐波那契数列

    剑指Offer_入门_JZZ_斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1).n≤39. 示例1 输入4,返回 ...

  3. 剑指offer——面试题10:斐波那契数列

    个人答案: 1 #include"iostream" 2 #include"stdio.h" 3 #include"string.h" 4 ...

  4. 笔试题:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。该题有三种解法:递归的方法求解斐波那契数列、用概率与统计的数学方法解决,3.动态规划

    笔试题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法.该题有三种解法:1.递归的方法求解斐波那契数列.2.用概率与统计的数学方法解决,3.动态规划 ...

  5. 【斐波那契数列】10题-斐波那契数列

    1 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - ...

  6. 【剑指offer】10A--求裴波那切数列的第n项,C++实现

    #本文是牛客网<剑指offer>刷题笔记 1.题目 写入一个函数,输入n,输出裴波那切数列的第n项 2.思路 递归--时间和空间复杂度高 循环--时间和空间复杂度低,通过循环迭代计算第n项 ...

  7. 面试题10:斐波那契数列

    斐波那契数指的是这样一个数列:0.1.1.2.3.5.8.13.21.-- 这个数列从第三个数开始,之后的每一个数都由它前的两数相加得到. 我们知道在编程中我们可以用递归和迭代两种方法求指定的斐波那契 ...

  8. 剑指offer Leetcode 10 I .斐波那契数列

    解法1:效率低的解法 复杂度 速度十分缓慢,重复计算太多 代码 //未考虑溢出和取模 class Solution {public:int fib(int n) {if(n <= 0)retur ...

  9. Python练习题10:斐波那契数列计算

    def fbi(n):if n == 1 or n == 2:return 1else:return fbi(n-1) + fbi(n-2) n = eval(input()) print(fbi(n ...

  10. 斐波那契数列在计算机的应用,斐波那契(Fibonacci)数列的几种计算机解法

    题目:斐波那契数列,又称黄金分割数列(F(n+1)/F(n)的极限是1:1.618,即黄金分割率),指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.在数学上,斐波纳契数列以如下 ...

最新文章

  1. mysql整理碎片和显示语句错误
  2. k8s 使用Nginx Ingress实现灰度发布和蓝绿发布
  3. 18. 4Sum 四数之和
  4. java 队列复制_java - 复制堆栈或队列,而无需使用“克隆” - 堆栈内存溢出
  5. 十万个为什么儿童版_《虹猫蓝兔十万个为什么》上架爱奇艺奇巴布绘本馆
  6. 为什么现代系统需要一个新的编程模型?
  7. 绑定bindchange事件的微信小程序swiper闪烁,抖动问题解决,(将微信小程序切换到后台一段时间,再打开微信小程序,会出现疯狂循环轮播,造成抖动现象)
  8. 程序员过关斩将——数据库的乐观锁和悲观锁并非真实的锁
  9. Android Google Map APIKey申请
  10. Tomcat启动时报org.springframework.web.context.ContextLoaderListener错误解决方案
  11. H5 video 播放器demo代码
  12. APP银联支付(微信、支付宝、云闪付)
  13. Raspberry Pi
  14. 印度 “新能源汽车市场” 是否坚挺!
  15. 郭德纲家训--话糙理不糙
  16. MES系统对注塑行业的帮助
  17. SS2H框架搭建,基础上篇
  18. 解决git的Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa'问题
  19. GPS定位与IP地址定位有何不同?
  20. 微商小程序加人加粉推广平台二维码

热门文章

  1. scrapy去重原理,scrapy_redis去重原理和布隆过滤器的使用
  2. 设计器的使用及常用控件
  3. 两个独立的窗口和自定义信号
  4. 【专场福利Part2】从多维度出发 保障提升实时音视频质量
  5. 【线上分享】如虎添翼,边缘计算在媒体性能与安全上的实现
  6. 企业用户福利来袭!腾讯三大研发管理产品集中亮相2018腾讯合作伙伴大会
  7. AI+游戏:高效利用样本的强化学习 | 腾讯AI Lab学术论坛演讲
  8. Android项目集成Weex
  9. 利剑无意之JAVA面试题(三)
  10. Storm 04_Storm单机模式搭建完全分布式安装部署集群drpc