美文网首页
买卖股票最佳时机[数组]

买卖股票最佳时机[数组]

作者: 正经龙 | 来源:发表于2018-09-12 17:16 被阅读0次

题目描述

屏幕快照 2018-09-12 17.08.34.png

解决思路

  • 既然已经知道每天的股票价格,那便是只要在价格呈现增长的阶段起点买入,在呈现降低的阶段买入就可以了。
  • 化繁为简,只需要比较相邻两个数字的大小,如果是增长直接将增长的价格加入到盈利里面。
  • 无需考虑买入当天不能卖出的情况。这对最后的最大盈利没有任何影响

注意

注意控制循环的终止条件
一开始还使用了一个标记梁用来标记当前处于买入了状态还是未买入状态,后面发现无需判断,因为是最大盈利所以不需要判断较差的那些情况,只要是股票增长就会盈利


实现代码

class Solution {
    public int maxProfit(int[] prices) {
        if(prices == null)
            return 0;
        else if(prices.length == 0 || prices.length == 1)
            return 0;
        int money = 0;
        for(int i = 0;i<prices.length-1;i++)
        {
            if(prices[i]<prices[i+1])
            {
                money = money+prices[i+1] - prices[i];
            }
        }
        return money;
    }
}

通过情况

通过

相关文章

网友评论

      本文标题:买卖股票最佳时机[数组]

      本文链接:https://www.haomeiwen.com/subject/swcbgftx.html