【LeetCode刷題】509. 斐波那契數
斐波那契數,通常用 F(n)
表示,形成的序列稱為斐波那契數列。
該數列由 0
和 1
開始,後面的每一項數字都是前面兩項數字的和。也就是:
F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
給定 N
,計算 F(N)
。
示例 1:
輸入:2
輸出:1
解釋:F(2) = F(1) + F(0) = 1 + 0 = 1.
示例 2:
輸入:3
輸出:2
解釋:F(3) = F(2) + F(1) = 1 + 1 = 2.
示例 3:
輸入:4
輸出:3
解釋:F(4) = F(3) + F(2) = 2 + 1 = 3.
提示:
- 0 ≤
N
≤ 30
===================================================================================================================================================================================================
分析:
法一:遞迴
class Solution {
public int fib(int N){
if(N<=1){
return N;
}
return fib(N-1)+fib(N-2);
}
}
但是遞迴的效率並不高
法二:常規解法
class Solution {
public int fib(int N) {
int f0 = 0;
int f1 = 1;
int res = 0;
if(N==1){
return f1;
}
for(int i = 1;i<N;i++){
res = f0 + f1;
f0 = f1;
f1 = res;
}
return res;
}
}
參考:https://leetcode-cn.com/problems/fibonacci-number/submissions/
相關文章
- 斐波那契數列
- LeetCode-509-斐波那契數LeetCode
- 斐波那契數列(Java)Java
- LeetCode每日一題:斐波那契數(No.509)LeetCode每日一題
- 面試題9-斐波那契數列面試題
- 斐波那契數列 (C#)C#
- PHP 與斐波那契數列PHP
- 斐波那契數列詳解
- Leedcode-斐波那契數
- 斐波那契查詢
- js實現斐波那契數列JS
- 斐波那契數列js 實現JS
- 斐波那契數列演算法演算法
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- LeetCode 1137第N個斐波那契數LeetCode
- 演算法(1)斐波那契數列演算法
- 斐波那契數(C/C++,Scheme)C++Scheme
- [C103] 斐波那契數列
- 每日一算 -- 斐波那契數列型別題型別
- 【刷演算法】我知道的所有類似斐波那契數列的問題演算法
- 斐波那契問題和擴充套件套件
- 大數斐波那契數列的演算法演算法
- 使用Python實現斐波那契數列Python
- JavaScript 實現:輸出斐波那契數列JavaScript
- js迭代器實現斐波那契數列JS
- 演算法一:斐波那契阿數列演算法
- 斐波那契數列的分治法計算
- 斐波那契數列的python實現Python
- “斐波那契數列”問題的遞推演算法演算法
- 斐波那契查詢不再迷惑
- 斐波那契數列三種實現函式函式
- 計算斐波那契數列的演算法演算法
- 劍指offer-9-斐波那契數列-javaJava
- 斐波那契數列演算法 JS 實現演算法JS
- hdu 3117矩陣+斐波那契數列矩陣
- 演算法 - 斐波那契 - javascript 版演算法JavaScript
- python for迴圈和斐波那契Python
- 博弈學習 (二) 斐波那契博弈