码迷,mamicode.com
首页 > 编程语言 > 详细

【算法】还在用递归实现斐波那契数组,面试官一定会鄙视你到死

时间:2019-10-20 11:26:01      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:大学   color   就是   根据   面试   工作   int   bsp   pre   

       我记得在初学C语言的时候,大学老师经常会讲一些常见的数学问题及递归的使用,其中斐波那契数组的实现就是一定会被拿出来举例的。在后来工作中,面试做面试题的时候,也很大概率会出现编程实现斐波那契额数组算法。可以说,在我们编程道路上,编写程序实现斐波那契数组算法是每个程序员必定会做的一件事。

       斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........我们会发现其中的规律,第一项和第二项的值均为1,后面每项的值都是前两项值之和,所以我们很多人基本上都会使用递归来实现,常见的算法如下:

1 public int fib(int n) {
2     if (n == 1 || n == 2) {
3         return 1;
4     }
5     return fib(n - 2) + fib(n - 1);
6 }

这段代码看起来非常的简洁和优雅,在此之前笔者也一直都是这么写的,而且在我的知识储备中也就只知道有这样一种算法。

       昨天去参加腾讯课堂举办的一个线下活动,就讲到了这个问题,笔者也算是涨了姿势了。活动中有一位嘉宾,是某课堂的创始人,也是算法课程的讲师,就讲到了这个问题。本文就根据这名讲师的讲解,来分析和整理一下该问题算法的实现。

 

【算法】还在用递归实现斐波那契数组,面试官一定会鄙视你到死

标签:大学   color   就是   根据   面试   工作   int   bsp   pre   

原文地址:https://www.cnblogs.com/andy-songwei/p/11706775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!