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
}
相关推荐
踩坑记录16 分钟前
leetcode hot100 5. 最长回文子串 中心扩展法 medium
leetcode
Tomhex24 分钟前
Go内存逃逸优化技巧
golang
会编程的土豆36 分钟前
Go语言零基础入门:从0到能写程序(超详细版)
开发语言·后端·golang
踩坑记录43 分钟前
leetcode hot100 1143. 最长公共子序列 mediuim 递归优化
leetcode
无限进步_1 小时前
【C++】寻找数组中出现次数超过一半的数字:三种解法深度剖析
开发语言·c++·git·算法·leetcode·github·visual studio
人道领域1 小时前
【LeetCode刷题日记】150.逆波兰表达式求值
java·数据结构·算法·leetcode
初心未改HD1 小时前
Go语言变量与数据类型完全指南
开发语言·golang
初心未改HD1 小时前
Go语言环境搭建与第一个程序详解
开发语言·后端·golang
踩坑记录1 小时前
leetcode hot100 136. 只出现一次的数字 easy 技巧 位运算 异或 XOR(^)
leetcode
keep intensify1 小时前
MIT 6.824 lab3B/C
分布式·后端·golang