描述
假设你有一个数组,其中第 i 个元素是股票在第i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。

实现
/**
*
* @param prices int整型一维数组
* @return int整型
*/
function maxProfit( prices ) {
//即寻找前面元素和后面元素最大的差值
//1、计算相邻元素的差值
let p = [];
for(let i=1;i<prices.length;i++){
p.push(prices[i]-prices[i-1]);
}
//2.对差值进行累加,获取最大相邻的差值和
let res = 0;
let sum = 0;
for(let i=0;i<p.length;i++){
if(sum>0){
sum+=p[i]
}else{
sum=p[i]
}
res = Math.max(sum,res)
}
return res
}
module.exports = {
maxProfit : maxProfit
};
该博客介绍了如何通过算法解决在给定数组(股票价格)中找到一次买卖所能获得的最大收益问题。算法通过计算相邻元素的差值,然后累加获取最大差值和,最终返回最大收益。
1113

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



