【剑指offer】面试题9:斐波那契数列
来源:互联网 发布:养生软件下载排行榜 编辑:程序博客网 时间:2024/05/16 04:31
题目:写一个函数,输入n,求斐波那契数列的第n项。
方法1:递归。缺点:如果n比较大,那么递归程度比较深
方法2:首先根据f(0)和f(1)计算出f(2),再根据f(1)和f(2)算出f(3),以此类推……
时间复杂度O(n)
代码如下:
#include<iostream>using namespace std;//使用递归的方法实现斐波那契数列,重复计算太多节点的值 int Fib_Recursion(int n) {if(n==0) return 0;if(n==1) return 1; return Fib_Recursion(n-1)+Fib_Recursion(n-2);}//更为简单的方法,首先根据f(0)和f(1)计算出f(2),再根据f(1)和f(2)算出f(3),以此类推……//时间复杂度O(n) int Fib_New(int n){int result[2]={0,1};if(n<2) return result[n];int fibMinus1=1; // Fib(n-1)int fibMinus2=0; // Fib(n-2)int fibN=0; // 我们要求的Fib(N)for(int i=2;i<=n;i++){fibN=fibMinus1+fibMinus2;fibMinus2=fibMinus1;fibMinus1=fibN;}return fibN;}int main(){int n;cin>>n;cout<<Fib_Recursion(n)<<endl;cout<<Fib_New(n)<<endl;return 0;}
阅读全文
0 0
- 【剑指offer】面试题9:斐波那契数列
- 剑指offer 面试题9 斐波那契数列
- 剑指Offer:面试题9 斐波那契数列
- 剑指offer-面试题9:斐波那契数列
- 剑指offer 面试题9:斐波那契数列
- 【剑指offer】面试题9:斐波那契数列
- 剑指offer--面试题9:斐波那契数列
- 剑指offer:面试题9,斐波那契数列
- 剑指Offer---面试题9:斐波那契数列
- 剑指Offer面试题9斐波那契数列
- 剑指offer-面试题 9 斐波那契数列
- 剑指Offer面试题9[斐波那契数列]
- 剑指offer面试题9 斐波那契数列
- 【剑指offer】面试题9:斐波那契数列
- [剑指offer]面试题9:斐波那契数列
- 剑指offer面试题 斐波那契数列
- 剑指Offer----面试题九:斐波那契数列
- 剑指offer-面试题09-斐波那契数列
- Android 限制EditText输入小数点后面位数
- MyBatis--动态SQL原笔记(无案例)
- yii2整合smarty
- Android 仿京东淘宝多规格选择
- tensorflow进行MNIST手写数字识别-LSTM
- 【剑指offer】面试题9:斐波那契数列
- Django 1.11 使用paginator,Django自带分页器
- raw转bmp
- Bzoj 1798 [Ahoi2009]Seq 维护序列seq【线段树+多标记Lazy】
- mybatis ${} #{} 传值
- 进程与线程-3、内核级线程切换过程
- C# 事件 订阅与发布
- RTMP与HLS压力测试工具安装与配置
- Java8系列之重新认识HashMap 2016/06/27 | 分类: 基础技术 | 9 条评论 | 标签: HashMap, java8 分享到: 67 原文出处: 前利 简介 Java为数