【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
}
相关推荐
圣保罗的大教堂29 分钟前
leetcode 3727. 最大交替平方和 中等
leetcode
倚楼听风语1 小时前
Kotlin 协程与 suspend 原理详解
java·算法·kotlin
Xin7701 小时前
LeetCode 200. 岛屿数量(DFS 深度优先遍历法)
leetcode
程序员清风1 小时前
双指针与滑动窗口:高效处理连续区间
开发语言·算法
代钦塔拉1 小时前
【C++/Qt 进阶】设计模式系列(2):工厂模式——从游戏角色到披萨店
c++·算法·设计模式
思茂信息1 小时前
电磁仿真学涉及哪些算法?
人工智能·算法·数学建模·matlab·emc·电磁仿真·仿真辐射
糖果豆豆2 小时前
让 AI 自查三遍,它只会把错的说得更像对的——检查的人和被检查的,是同一个
算法·架构
总裁余(余登武)3 小时前
K-means算法改进(Python版)
python·算法·kmeans
灯澜忆梦3 小时前
【面向对象编程c++】| 指针与自定义数据类型
开发语言·c++·算法
xxwl5854 小时前
区域赛算法模版第八章---贪心(Greedy)
c++·笔记·学习·算法