【面试经典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;
};
相关推荐
海绵宝宝转agent8 小时前
JUC高频面试八股总结个人开源
面试·职场和发展
Nil2089 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
传人once10 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
wanderist.11 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.11 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_3077791311 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂12 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
光影少年12 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
HEJOO912 小时前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
Code_Solitude13 小时前
c语言:递归
java·c语言·算法