
不知道都是些什么神仙,绞尽脑汁想了个O(n)出来…竟然只超过了2/3
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
const len = prices.length;
let profit = 0;
let min = prices[0];
let max = prices[0];
for (let i = 1; i < len; i++) {
// 先找出局部最小值 - 极小值
while (i < len && prices[i] < prices[i - 1]){
i++;
}
min = prices[i - 1];
// 再找出局部最大值 - 极大值
while (i < len && prices[i] > prices[i - 1]){
i++;
}
max = prices[i - 1];
profit += max - min;
}
return profit;
};
股票买卖策略:O(n)算法实现

本文介绍了一种O(n)复杂度的股票买卖策略算法,通过寻找局部最小值和局部最大值来确定买入卖出时机,实现最大化利润。算法在测试中表现优秀,超越了大部分竞争对手。
643

被折叠的 条评论
为什么被折叠?



