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