这是数组...
int[] array = new int[]{4,-1,-2,3,5,-7,1,0,0,-2,4};
我们需要看看我们是否可以从前一天开始购买股票。因此,我们应该以 -1 的价格买入并以 5 的价格卖出。这将带来 6 的利润。
int max = Integer.MIN_VALUE;
int maxDiff = Integer.MIN_VALUE;
int diff = 0;
int bottom = array[0];
for (int i = 1; i < array.length; i++) {
diff += array[i] - array[i - 1];
System.out.println(diff);
if (diff > maxDiff) {
maxDiff = diff;
max = array[i];
}
if (array[i] < bottom) {
bottom = array[i];
diff = 0;
}
}
int maxx = max - maxDiff;
System.out.println("Buy at " + maxx + " Sell at " + max);
这就是说我应该在 -7 买入并在 4 卖出。这是不正确的。如果我们在 -7 买入,价格将上涨 1,然后保持不变,保持不变,下跌 2,然后上涨 4。这不会为我们赚取最大利润。
我究竟做错了什么?
胡说叔叔
相关分类