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

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

提示:

  • 1 <= prices.length <= 3 * 104
  • 0 <= prices[i] <= 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
};
相关推荐
jingling5551 小时前
vue | 在 Vue 3 项目中集成高德地图(AMap)
前端·javascript·vue.js
油丶酸萝卜别吃1 小时前
Vue3 中如何在 setup 语法糖下,通过 Layer 弹窗组件弹出自定义 Vue 组件?
前端·vue.js·arcgis
轻抚酸~6 小时前
KNN(K近邻算法)-python实现
python·算法·近邻算法
J***Q2928 小时前
Vue数据可视化
前端·vue.js·信息可视化
Yue丶越8 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
小白程序员成长日记9 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字9 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
ttod_qzstudio9 小时前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器
前端·vue.js
_大龄10 小时前
前端解析excel
前端·excel
AndrewHZ10 小时前
【图像处理基石】如何在图像中提取出基本形状,比如圆形,椭圆,方形等等?
图像处理·python·算法·计算机视觉·cv·形状提取