一、动态规划简介
1、适用范围:有重叠子集问题和最优子结构性质的问题(记录所有子问题的结果)
2、方式:自底向上(递推);自顶向下(递归)
3、问题特点:子问题得到结果,以后计算过程不会修改——无后效性,有向无环图,只解决子问题一次。
二、509斐波那契数
好难好难,想了一会儿呢!
class Solution:
def fib(self, n: int) -> int:
pre_1 = 0
pre_2 = 1
if n == 0:
return pre_1
elif n == 1:
return pre_2
else:
for i in range(2,n+1):
z = pre_1 + pre_2
pre_1 = pre_2
pre_2 = z
return z
递推关系——>动态规划
第 N 个泰波那契数
运行时间有点长啊