在一家农场,有一群牛,每头牛都有一个市场价值,这个价值每天都会变化。农场主人可以选择在某一天买入一头牛,然后在某一天卖出。但是,农场主人最多只能进行三次买卖(买入和卖出算一次买卖),并且在买入新的牛之前必须已经卖掉手头上的牛。 现给你一个数组,表示每一天牛的市场价值,设计一个算法来计算农场主人最多能获得多少利润。

区块链毕设网qklbishe.com为您提供问题的解答

在一家农场,有一群牛,每头牛都有一个市场价值,这个价值每天都会变化。农场主人可以选择在某一天买入一头牛,然后在某一天卖出。但是,农场主人最多只能进行三次买卖(买入和卖出算一次买卖),并且在买入新的牛之前必须已经卖掉手头上的牛。

现给你一个数组,表示每一天牛的市场价值,设计一个算法来计算农场主人最多能获得多少利润。

import sys class Solution:     def maxProfit(self , prices: List[int]) -> int:         # write code here         # 交易次数n         n = 3         # dp[i][j][2]: 第i天,买卖j次,状态[0]表示不持有,          # 状态[1]表示持有 -> 可以获得的最高利润         dp = [[[0 for _ in range(2)] for _ in range(n+1)] for _ in range(len(prices)+1)]         # 初始化 第0天         for i in range(4):             dp[0][i][1] = -sys.maxsize-1                  for i in range(1, len(prices) + 1):             for j in range(1, 4):                 # 保持不买或者卖出                 dp[i][j][0] = max(dp[i-1][j][0], dp[i-1][j][1] + prices[i-1])                 # 保持拥有或者买入                 dp[i][j][1] = max(dp[i-1][j][1], dp[i-1][j-1][0] - prices[i-1])         return dp[-1][-1][0]
三维dp

24:42

以上就是关于问题在一家农场,有一群牛,每头牛都有一个市场价值,这个价值每天都会变化。农场主人可以选择在某一天买入一头牛,然后在某一天卖出。但是,农场主人最多只能进行三次买卖(买入和卖出算一次买卖),并且在买入新的牛之前必须已经卖掉手头上的牛。 现给你一个数组,表示每一天牛的市场价值,设计一个算法来计算农场主人最多能获得多少利润。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在一家农场,有一群牛,每头牛都有一个市场价值,这个价值每天都会变化。农场主人可以选择在某一天买入一头牛,然后在某一天卖出。但是,农场主人最多只能进行三次买卖(买入和卖出算一次买卖),并且在买入新的牛之前必须已经卖掉手头上的牛。 现给你一个数组,表示每一天牛的市场价值,设计一个算法来计算农场主人最多能获得多少利润。