目录
- 题目描述
- 思路分析
- AC 代码
- 总结
掘金团队号上线,助你 Offer 临门! 点击 查看详情
一、题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。其中,n≤39。
示例1
输入
4
返回值
3
二、思路分析
难度:中等
看到斐波那契数列,是不是立马就想起来了,大学期间学习递归算法的经历?是的,我们老师在介绍递归算法时,就是用的斐波那契数列。因此,我们肯定能够想到使用递归法解决这个问题。那么还有没有其他方法呢?答案是有的,我们还可以利用动态规划算法,每次记录第n-1项和第n-2项的结果,循环记录,这样也可以实现斐波那契数列的计算。
三、AC 代码
语言:Go
方法一、
代码:
package main
/**
*
* @param n int整型
* @return int整型
*/
func Fibonacci( n int ) int {
if n == 0 || n == 1 {
return n
}
return Fibonacci(n-1) + Fibonacci(n-2)
}
方法二、
代码:
package main
/**
*
* @param n int整型
* @return int整型
*/
func Fibonacci( n int ) int {
a, b := 0, 1
for i := 0; i < n; i++ {
a, b = b, a+b
}
return a
}
通过截图:
方法一、
方法二、
四、总结
其实,一般可以使用递归算法的题目,都还可以考虑动态规划解题。我们遇到类似的题目时,不妨多想想。