题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
思路:用数组暂存,尽量避免递归!!!注意输入0的时候应该返回0
C/C++ 运行时间:3ms 占用内存:488k
class Solution { public: int Fibonacci(int n) { int ans[40]; ans[1] = ans[2] = 1; ans[0] = 0; for(int i=3; i<=39; ++i) ans[i] = ans[i-1] + ans[i-2]; return ans[n]; } };
Java 运行时间:22ms 占用内存:9168k
import java.util.ArrayList; public class Solution { public int Fibonacci(int n) { ArrayList<Integer> ans = new ArrayList<>(); ans.add(0); ans.add(1); ans.add(1); for(int i=3; i<=39; ++i) { ans.add(ans.get(i-1) + ans.get(i-2)); } return ans.get(n); } }
Python 2.x 运行时间:33ms 占用内存:5624k
# -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # write code here ans = [] ans.append(0) for i in range(2): ans.append(1) for i in range(3, 40): ans.append(ans[i-1] + ans[i-2]) return ans[n]