Leetcode 509 题
抱歉拖更了 2 天,嘿嘿。这周我们基于动态规划基本思想,做一道 Leetcode 的简单题。
题干简述
Leetcode 509 题就是计算斐波那契数列。
公式:F(n) = F(n - 1) + F(n - 2)
给定:n
要求:计算F(n)
解题思路
为什么说计算斐波那契数列是动态规划里面最简单的一道题呢?
是因为题目直接给出了状态转移方程F(n) = F(n - 1) + F(n - 2)
,拿着公式计算就可以了。
代码实现
class Solution:
def fib(self, n: int) -> int:
if n == 0:
return 0
dp = [0]*(n+1)
dp[0] = 0
dp[1] = 1
for i in range(2, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
复杂度
时间复杂度O(n),空间复杂度O(n)。
转载声明:
本文章允许转载,原文地址:「动态规划」LeetCode 509(斐波那契数列)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net