题解 | #买卖股票的最好时机#

买卖股票的最好时机

http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec

package main

func maxProfit( prices []int ) int {
    if len(prices) <= 1 {
        return 0
    }
    
    n := len(prices)
    dp := make([][2]int, n+1)
    dp[0][1] = -prices[0]
    
    for i := 1; i < n; i++ {
        dp[i][0] = max(dp[i-1][0], dp[i-1][1] + prices[i])
        dp[i][1] = max(dp[i-1][1], -prices[i])
    }
    return dp[n-1][0]
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务