贪心算法
股票买卖一
题目来源
LeetCode 121. Best Time to Buy and Sell Stock
解题思路
方法一
- 贪心算法,累计收益,其最大值
精简解题
func maxProfit(p []int) int {
ret := 0
tmp := 0
for i:=1;i<len(p);i++{
d := p[i] - p[i-1]
if tmp+d < 0 {
tmp = 0
}else {
tmp += d
ret = max(ret,tmp)
}
}
return ret
}
func max(a,b int) int{
if a<b {
return b
}
return a
}
股票买卖二
题目来源
LeetCode 122. Best Time to Buy and Sell Stock II
解题思路
方法一
- 贪心算法,累计收益,其最大值
精简解题
func maxProfit(p []int) int {
ret := 0
for i:=1;i<len(p);i++{
d := p[i] - p[i-1]
if d>0 {
ret += d
}
}
return ret
}