【LeetCode笔记】剑指 Offer 10-I. 斐波那契数列 (Java、递归、动态规划)
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode笔记】剑指 Offer 10-I. 斐波那契数列 (Java、递归、动态规划)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目描述
- 思路 & 代碼
- 遞歸
- 動態(tài)規(guī)劃
- 二刷
題目描述
- 呃~說來尷尬,在簡單題栽跟頭了= = (超時)
- 一般來說,這玩意是遞歸教學(xué)題了。但實際上會有很多重復(fù)的冗余步驟,實際上用動態(tài)規(guī)劃效率會更高
思路 & 代碼
遞歸
class Solution {public int fib(int n) {if(n == 0 || n == 1){return n;}return (fib(n - 1) + fib(n - 2)) % 1000000007;} }動態(tài)規(guī)劃
- O(n) & O(n)
- O(n) & O(1) ,因為這道題實際上只要記錄當(dāng)前兩個元素的狀態(tài)即可,因此實際上可以用兩個變量起到整個數(shù)組的作用。
二刷
- 邊界和返回值還是值得注意的
總結(jié)
以上是生活随笔為你收集整理的【LeetCode笔记】剑指 Offer 10-I. 斐波那契数列 (Java、递归、动态规划)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 最短路径算法_python
- 下一篇: 【LeetCode笔记(水)】s =