#本文是牛客网《剑指offer》刷题笔记

1.题目

写入一个函数,输入n,输出裴波那切数列的第n项

2.思路

  • 递归--时间和空间复杂度高
  • 循环--时间和空间复杂度低,通过循环迭代计算第n项,首先根据f(0)和f(1)计算f(2),在根据f(1)和f(2)计算f(3),依次类推计算出第n项。

3.code

  1 class Solution {
  2 public:
  3     int Fibonacci(int n) {
  4         // n==0
  5         if(n<=0)
  6             return 0;
  7
  8         // n==1
  9         if(n==1)
 10             return 1;
 11
 12         // n>1
 13         int one=0;
 14         int two=1;
 15         int three=0;
 16
 17         for(int i = 2;i<=n;i++){
 18             three = one + two;
 19             one =two;
 20             two = three;
 21         }
 22         return three;
 23     }
 24 };

4.复杂度

时间复杂度O(n)

转载于:https://www.cnblogs.com/wanglei5205/p/8522931.html

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

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

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

  2. 求佩波拉切数列的前20项

    #include <stdio.h> int main() {int i, fib[20];fib[0] = fib[1] = 1;// 计算级数并保存for(i=2; i<20; ...

  3. 编程求斐波那契数列的第n项和前n项之和。

    编写程序求斐波那契数列的第n项和前n项之和.斐波那契数列是形如 0, 1, 1, 2, 3, 5, 8, 13, ... 其通项为: F[0]=0 F[1]=1 F[n]=F[n-1]+F[n-2] ...

  4. 剑指offer——面试题9:求斐波那切数列的四种方法

    剑指offer--面试题9:求斐波那切数列的四种方法 另一个相关的链接:https://blog.csdn.net/Allenlzcoder/article/details/80297333 总结下求 ...

  5. 剑指offer之求两个数之和(不能使用四则运算)

    1 题目 剑指offer之求两个数之和(不能使用四则运算) 2 代码实现 #include<stdio.h>int add(int num1, int num2) {int sum1;in ...

  6. LeetCode 剑指Offer 64.求1,2到n的和, 不使用循环/判断及乘除

    题目 剑指 Offer 64. 求1+2+-+n 求 1+2+-+n ,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 示例 1: ...

  7. 【LeetCode】剑指 Offer 64. 求1+2+…+n

    [LeetCode]剑指 Offer 64. 求1+2+-+n 文章目录 [LeetCode]剑指 Offer 64. 求1+2+-+n package offer;public class Solu ...

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

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

  9. 求斐波那契数列的第n项

    提要 本文介绍了4种(3种?)求斐波那契数列第n项的方法. 斐波那契数列简介 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda ...

最新文章

  1. 如何用xmanager远程连接centos6.0的桌面
  2. 实现if_如何解决开发中 if...esle 代码过多的问题,强烈推荐!
  3. QueryRunner 错误
  4. HDU 1058(打表)
  5. pwnable input2 之 write up
  6. Javascript在页面加载时的执行顺序
  7. 三个字帮大家总结一下刘强东事件
  8. 路畅安卓最新固件升级_Airpods连接安卓手机音量异常(airpods固件升级)
  9. LwIP之协议栈接口
  10. Python中的中文编码声明注释
  11. 图像处理领域的国际会议及期刊
  12. Bigasoft Audio Converter for Mac - 音频转换器
  13. php 游戏开发swoole,用Swoole来写个联机对战游戏呀!(一)前言
  14. Python常用数据分析工具
  15. *CF1132D.Stressful Training(二分+队列+贪心)
  16. python 使用pyserial控制温箱(附源码)
  17. SrpingCloud微服务 服务调用逻辑图
  18. 调整分区后分区不见的数据找回法子
  19. 大数据变现的九种商业模式
  20. 深度学习基础-损失函数详解

热门文章

  1. 用border-width,border-color画三角形
  2. 【Linux】ubuntu下词典软件Goldendict介绍(可屏幕取词)和StarDict(星际译王)的安装...
  3. 正确使用Windows Azure 中的VM Role
  4. Apache认证、授权和访问控制
  5. asp.net performance
  6. SAP FI模块与SD、MM的接口配置基本方法
  7. 大数据在银行业的应用场景
  8. JAVA相关基础知识(一)
  9. 【ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )
  10. 【数字信号处理】序列傅里叶变换 ( 傅里叶变换实例 | 矩形窗函数 | 傅里叶变换 | 傅里叶变换幅频特性 | 傅里叶变换相频特性 )