欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 买卖股票的最佳时机 II

买卖股票的最佳时机 II

2025/3/16 15:28:20 来源:https://blog.csdn.net/weixin_42277454/article/details/145380274  浏览:    关键词:买卖股票的最佳时机 II

hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧!
在这里插入图片描述

问题分析

本题要求计算在可以多次买卖股票(但任何时候最多只能持有一股股票,也可以在同一天买卖)的情况下能获得的最大利润。解题的关键在于抓住股票价格上涨的区间,只要后一天的价格比前一天高,就进行一次买卖操作,将这些利润累加起来就能得到最大利润。

/*** 计算多次买卖股票能获得的最大利润* @param {number[]} prices - 表示每天股票价格的数组* @return {number} - 最大利润*/
function maxProfit(prices) {// 初始化最大利润为 0let maxProfit = 0;// 从数组的第二个元素开始遍历for (let i = 1; i < prices.length; i++) {// 如果当前价格大于前一天的价格if (prices[i] > prices[i - 1]) {// 计算这两天的利润并累加到最大利润中maxProfit += prices[i] - prices[i - 1];}}// 返回最大利润return maxProfit;
}

代码解释

初始化最大利润:将 maxProfit 初始化为 0,用于存储最终的最大利润。
遍历数组:从数组的第二个元素开始遍历,因为要比较相邻两天的价格。
判断价格变化:对于每一天,如果当天的价格 prices[i] 大于前一天的价格 prices[i - 1],说明这是一个价格上涨的区间,将这两天的价格差(即利润)累加到 maxProfit 中。
返回结果:遍历结束后,返回 maxProfit,即为能获得的最大利润。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词