Golang | Leetcode Golang题解之第123题买卖股票的最佳时机III

题目:

题解:

Go 复制代码
func maxProfit(prices []int) int {
    buy1, sell1 := -prices[0], 0
    buy2, sell2 := -prices[0], 0
    for i := 1; i < len(prices); i++ {
        buy1 = max(buy1, -prices[i])
        sell1 = max(sell1, buy1+prices[i])
        buy2 = max(buy2, sell1-prices[i])
        sell2 = max(sell2, buy2+prices[i])
    }
    return sell2
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}
相关推荐
卜锦元17 分钟前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang
Binky67817 分钟前
力扣--回溯篇(2)
算法·leetcode·职场和发展
Grassto1 小时前
从 GOPATH 到 Go Module:Go 依赖管理机制的演进
开发语言·后端·golang·go
2401_841495641 小时前
【LeetCode刷题】打家劫舍
数据结构·python·算法·leetcode·动态规划·数组·传统dp数组
努力学算法的蒟蒻1 小时前
day45(12.26)——leetcode面试经典150
算法·leetcode·面试
shhpeng2 小时前
Go语言中 的 defer 语句
开发语言·后端·golang
LYFlied2 小时前
【每日算法】LeetCode 300. 最长递增子序列
前端·数据结构·算法·leetcode·职场和发展
闲看云起3 小时前
LeetCode-day2:字母异位词分组分析
算法·leetcode·职场和发展
Swift社区3 小时前
LeetCode 457 - 环形数组是否存在循环
算法·leetcode·职场和发展
是垚不是土3 小时前
基于DDNS-Go动态域名解析配置:实现多网络线路冗余切换方案
运维·开发语言·网络·阿里云·golang·运维开发