题目:动态规划(1)
程序员文章站
2022-03-16 17:33:46
...
题目:动态规划(1)
题目图片描述如下:
1~8表示8个区段,红色标出每个区段的工价,横轴表示时间,每个时间点只能完成一份工,请问一个员工一天最多可以赚多少钱?
python实现如下
#注意:prev和Vi为了索引i从0开始,故加入prev[0]、Vi[0]的初始化值
#该初始化值不影响计算,只为了使索引从0开始
prev = [0,0,0,0,1,0,2,3,5]
Vi = [0,5,1,8,4,6,3,2,4]
dp = [0] #边界条件
for i in range(1,9):
dp.append(max(dp[i-1],dp[prev[i]]+Vi[i]))
print(max(dp))
题目出自B站教学:https://www.bilibili.com/video/BV18x411V7fm?from=search&seid=9787459590994725124