算法(TS):买卖股票的最佳时机 II

给你一个整数数组 prices ,其中 pricesi 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。返回 你能获得的 最大 利润 。

提示:

  • 1 <= prices.length <= 3 * 104
  • 0 <= pricesi <= 104

示例

示例 1:

输入:prices = 7,1,5,3,6,4

输出:7

解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3 。

总利润为 4 + 3 = 7 。

示例 2:

输入:prices = 1,2,3,4,5

输出:4

解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。

总利润为 4 。

示例 3:

输入:prices = 7,6,4,3,1

输出:0

解释:在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润

最大利润为 0 。

解答

相邻两天,高抛低吸

ts 复制代码
function maxProfit(prices: number[]): number {
    let profit = 0
    let index = 0

    while(index < prices.length) {
        if (prices[index] < prices[index + 1]) {
            profit +=  prices[index + 1] - prices[index]
        }
        index ++
    }
    return profit
};
相关推荐
小卿噢6 分钟前
同样是插 10 万行,最快的写法比最慢的快 103 倍
前端
德尔塔A6 分钟前
同一个会话,终端和浏览器同时开着会发生什么
typescript
weixin_4173968316 分钟前
星级酒店境外电视频道怎么合法接入?合规要点与核对清单
开发语言·前端·php·1024程序员节·综合布线
地平线开发者18 分钟前
QAT 实战:从 PyTorch 模型到 J6E 实板精度与延时验证
pytorch·算法·自动驾驶
IT星宿19 分钟前
github-gravity:用 Rapier2D 把 GitHub 贡献图做成 SVG 物理动画
算法·github
hiahiahia12333 分钟前
Structured Output
前端·人工智能
FRing031 小时前
JavaScript入门到精通三十一(原型继承、原型链)
开发语言·前端·javascript
♡すぎ♡1 小时前
SWE 的基本条件
算法·swe·浅水模拟
山雀~2 小时前
CSP 安全漏洞修复
前端·网络协议
郝学胜-神的一滴2 小时前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习