Me
记录最大值最小值
- 在更新最小值的时候,我们忽略前面的最大值,并重新以当前最小值为起点!(但是可能目前的收益最多,所以创建变量保存收入)
- 在产生最大值的时候,我们需要计算当前利润是否大于历史最大利润。如果是就更新值。
func maxProfit(prices []int) int {
if len(prices) == 0 {
return 0
}
max := prices[0]
min := prices[0]
res := 0
for _,value := range prices {
if max < value {
max = value
if max - min > res {
res = max - min
}
}
if min > value {
min = value
max = value
}
}
return res
}