【面试经典150题】买卖股票的最佳时机Ⅱ

题目链接

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。

返回 你能获得的 最大 利润

  • 1 <= prices.length <= 3 ∗ 1 0 4 3 * 10^4 3∗104
  • 0 <= pricesi <= 1 0 4 10^4 104

两种情况:

  1. 当天买当天卖,获益为0。
  2. 当天买后天卖,获益pricesj-pricesi

要想利益最大,就要保证获益pricesj-pricesi不小于0。

javascript 复制代码
/**
 * @param {number[]} prices
 * @return {number}
 */
var maxProfit = function(prices) {
	let profit=0;
    for(let i=0;i<prices.length-1;i++){
        if(prices[i+1]>prices[i]){
            profit+=(prices[i+1]-prices[i]);
        }
    }
    return profit;
};
相关推荐
Zane199414 小时前
暴力字符串匹配失配就要把文本指针往回拉,KMP凭什么能让它一直往前走
算法
爱学习的执念14 小时前
助力金九银十1000道软件测试面试题(功能、接口、自动化、WEB、APP.......)附答案
软件测试·面试
小的~~14 小时前
银河麒麟V10 ARM部署TDengine(涛思)工业时序数据库安装与测试
面试·程序员创富
Tim_1015 小时前
【LeetCode】338、比特位计数
c++·算法·leetcode
Hilaku15 小时前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
木子算法15 小时前
不是重心也不是中点:费马—韦伯点、它的最优性条件与迭代求解
人工智能·算法·目标跟踪
陈拉斯15 小时前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript
yzy8516 小时前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
小刘在重生~16 小时前
Oracle_day2 单行函数|组函数|分组|伪列|子查询|分页|多表连接
笔记·oracle·面试
用户2986985301416 小时前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js