给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
解法1.动态规划
思路: 最大利润为当天利润和以前利润的最大值
class Solution(object):
def maxProfit(self, prices):
"""
:type prices: List[int]
:rtype: int
"""
if prices = []:
return 0
min_pri = price[0]
max_pro = 0
for i in range(len(prices)):
min_pri = min(price[i], min_pri)
max_pro = max(price[i]-min_pri, max_pro)
return max_pro