贪心算法

股票买卖一

题目来源

LeetCode 121. Best Time to Buy and Sell Stock

解题思路

方法一

  1. 贪心算法,累计收益,其最大值

精简解题

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

解题思路

方法一

  1. 贪心算法,累计收益,其最大值

精简解题

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
}
posted @ 2020-03-13 14:17  星灬期灬五  阅读(96)  评论(0编辑  收藏  举报