【Golang】LeetCode 121. 买卖股票的最佳时机

121. 买卖股票的最佳时机

题目描述

思路

我们使用贪心来解决这道题目。

题目中已经明确表明,我们只能在某一天i买入股票,并在未来的某一天j卖出,一定满足i<ji \lt ji<j。因此局部最优解就是我们使用一个变量cost来记录当前出现过的prices[i]的最小值,只要满足nums[j] > cost, 那么nums[j] - cost就是一次买卖股票的局部最优解。

全局最优解其实就是nums[j] - cost的最大值。

基于上述思路,我们写代码来解决问题。

Golang 题解

go 复制代码
func maxProfit(prices []int) int {
    curr := prices[0]
    ans := 0
    for i := 1; i < len(prices); i ++ {
        if prices[i] < curr {
            curr = prices[i]
        }
        ans = max(ans, prices[i] - curr)
    }
    return ans
}
相关推荐
无极低码1 小时前
ecGlypher新手安装分步指南(标准化流程)
人工智能·算法·自然语言处理·大模型·rag
软件算法开发1 小时前
基于海象优化算法的LSTM网络模型(WOA-LSTM)的一维时间序列预测matlab仿真
算法·matlab·lstm·一维时间序列预测·woa-lstm·海象优化
superior tigre2 小时前
22 括号生成
算法·深度优先
努力也学不会java3 小时前
【缓存算法】一篇文章带你彻底搞懂面试高频题LRU/LFU
java·数据结构·人工智能·算法·缓存·面试
旖-旎3 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
ECT-OS-JiuHuaShan4 小时前
朱梁万有递归元定理,重构《易经》
算法·重构
智者知已应修善业4 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
khddvbe4 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
C羊驼4 小时前
C语言:两天打鱼,三天晒网
c语言·经验分享·笔记·算法·青少年编程
菜菜小狗的学习笔记5 小时前
剑指Offer算法题(四)链表
数据结构·算法·链表