121.Best Time to Buy and Sell Stock I

    xiaoxiao2021-04-16  35

    用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格。 如果只允许进行一次交易,也就是说只允许买一支股票并卖掉,求最大的收益。

    从前向后遍历数组,记录当前出现过的最低价格,作为买入价格,并计算以当天价格出售的收益,作为可能的最大收益,整个遍历过程中,出现过的最大收益就是所求。

    代码:时间O(n),空间O(1)。

    public class Solution { public int maxProfit(int[] prices) { int len = prices.length; if (len <= 0) return 0; int curMin = prices[0]; int curMax = 0; for(int i =1;i<len;i++){ curMin = Math.min(curMin,prices[i]); curMax = Math.max(curMax,prices[i] - curMin); } return curMax; } }

    转载请注明原文地址: https://ju.6miu.com/read-672395.html

    最新回复(0)