标签:大学 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