题目连接:https://blog.csdn.net/bjweimengshu/article/details/109302108
Python代码实现:
# 只允许一次买卖操作
class StockProfit(object):
@staticmethod
def max_profit_for_1_time(prices=[]):
if not prices:
return 0
# 最小价格
min_price = prices[0]
# 最大收益
max_profit = 0
for price in prices[1:]:
max_profit = max(max_profit, price - min_price)
min_price = min(min_price, price)
return max_profit
# 允许多次买卖操作
class StockProfit(object):
@staticmethod
def max_profit_for_any_time(prices=[]):
if not prices:
return 0
# 最大收益
max_profit = 0
for i in range(1, len(prices)):
if prices[i] > prices[i-1]:
max_profit += prices[i] - prices[i-1]
return max_profit