【剑指offer第9题】斐波那契数列
【题目】
输入一个整数 n ,求斐波那契数列的第 n 项。 假定从0开始,第0项为0。(n<=39) 样例 输入整数 n=5 返回 5
【思路】
我们在第一次接触斐波那契数列求第n项时,可能直接就是简单的递归返回前两项的和,但其实这样会造成大量的重复,时间复杂度是以n的指数递增的。
那么怎么改进呢?其实只要避免重复计算就好了。这里提供一种很简单的方法,就是从前往后计算,根据前两项计算出第三项,进行n-1次循环即可
【代码】
【题目】
输入一个整数 n ,求斐波那契数列的第 n 项。 假定从0开始,第0项为0。(n<=39) 样例 输入整数 n=5 返回 5
【思路】
我们在第一次接触斐波那契数列求第n项时,可能直接就是简单的递归返回前两项的和,但其实这样会造成大量的重复,时间复杂度是以n的指数递增的。
那么怎么改进呢?其实只要避免重复计算就好了。这里提供一种很简单的方法,就是从前往后计算,根据前两项计算出第三项,进行n-1次循环即可
【代码】