0

这是我编写的代码,用于在价格最低时买入股票并在最高价时卖出。我想在这里实现卖空条件,就像我想在购买之前卖掉一样。考虑一周的这一系列股票价格。

3 10 4 1 9 3 2

现在我想在价格为 10 时卖出,在价格为 1 时买入,以实现 9 的利润。

但是我的代码在价格为 1 时买入并在 9 时卖出。我可以通过搜索最大数量和最小数量来获得最大利润。但想通过下面的逻辑来实现,并想知道下面的什么条件不允许我卖空。

    long  profit=a[1]-a[0];
    long  minima=a[0];
    for(long  i=1; i<noOfDays; i++)
    {
        if(a[i]-minima>profit)
        {
            profit=a[i]-minima;
        }
        
        if(a[i]<minima)
        {
            minima=a[i];
        }
    }
    cout<<profit;
4

1 回答 1

1

如果您允许卖空,您的利润总是 =max(array) - min(array)无一例外。

于 2020-11-03T10:23:48.913 回答