只需要记录当前天数之前最小的价格即可, 每次用当前价格减去之前的最小价格就是当前卖出能获得的最大收益, 将每天的最大收益做一次比较,即可得出答案

/**
  * 
  * @param prices int整型一维数组 
  * @return int整型
  */
function maxProfit( prices ) {
    // write code here
    return prices.reduce(({min, max}, cur, index) => {
        min = Math.min(min, cur);
        max = Math.max(max, cur - min);
        return prices.length - 1 === index ? max : {min, max};
    }, {
        max: -Infinity,
        min: Infinity
    });
}