JS 编写 买股票的最好时机
假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。
[1,4,2] 返回3
分析:
遍历这个数组,在遍历的同时维护一个变量minPrice来记录当前为止最小的价格(作为买入价格),之后用当前的价格减去这个买入价格,就可以得到赚的价格,用一个dis来记录最高可能赚的钱,遍历完后dis就是最终的结果。
代码:
function maxProfit( prices ) {
// write code here
var minPrice = prices[0];
var dis = 0;
for(var i=1;i<prices.length;i++){
minPrice = Math.min(minPrice,prices[i]);
dis = Math.max(dis,prices[i]-minPrice);
}
return dis;
}
module.exports = {
maxProfit : maxProfit
};