查找斐波纳契数列中第 N 个数。 所谓的斐波纳契数列是指: 前2个数是 0 和 1 。 第 i 个数是第 i-1 个数和第i-2 个数的和。 斐波纳契数列的前10个数字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …
空间复杂度为O(n),用数组空间来换取计算结果
class Solution { public int fibonacci(int n) { if(n == 1) return 0; int [] feibonaqi = new int[n]; feibonaqi[0] = 0; feibonaqi[1] = 1; for(int i = 2; i < n; i++) { feibonaqi[i] = feibonaqi[i - 1] + feibonaqi[i - 2]; } return feibonaqi[n - 1]; }}还看到了与DP异曲同工的解法
class Solution { public int fibonacci(int n) { if(n == 1) return 0; if(n == 2) return 1; int first = 0; int second = 1; int third = 0; for(int i = 2; i < n; i++) { third = first + second; first = second; second = third; } return third; }}新闻热点
疑难解答