斐波那契数列
斐波那契数列
http://www.nowcoder.com/questionTerminal/c6c7742f5ba7442aada113136ddea0c3
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n≤39
解法
//解法:动归 // dp[i]: f(i) 斐波那契数 // dp[i] = dp[i-1] + dp[i-2] // dp[0] = 0, dp[1] = 1 // 时间:O(n) 空间O(1) int Fibonacci(int n) { if (n == 0 || n == 1) return n; int f2 = 0, f1 = 1; int ans = 0; for (int i = 2; i <= n; i++) { ans = f1 + f2; f2 = f1; f1 = ans; } return ans; }