题目链接: 剑指 Offer 63. 股票的最大利润
题目描述:
假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
解法思路:
使用 minv 记录前 i 天的最低价格,第 i 天卖出的利润就是 prices[i] - minv ,遍历一遍数组,不断更新最大利润
代码:
func maxProfit(prices []int) int {
var res int
n := len(prices)
if n == 0 {
return res
}
// minv 表示前 i 天最低的价格
for i,minv := 0,prices[0];i < n;i++{
// 如果第i天卖出,更新利润,更新最小值
res = max(res,prices[i] - minv)
minv = min(minv,prices[i])
}
return res
}
func max(a,b int)int{
if a > b {
return a
}
return b
}
func min(a,b int)int{
if a < b {
return a
}
return b
}
标签:return,Offer,int,res,63,prices,minv,利润
From: https://www.cnblogs.com/lxing-go/p/17694326.html