从股价阵列中找到最佳买入时间和最佳卖出时间

时间:2019-12-08 10:04:00

标签: java arrays

给出数组: 您已给出股票价格,需要先购买然后再出售。并找出从给定数组中出售股票的最佳时间(指数)和从给定数组中购买股票的最佳时间(指数)。并且您需要将两个索引都恢复正常运行。 注意:在出售股票之前,您需要先购买。

  

int[] prices={7,1,5,3,6,4};

Output : {1,6}

此处购买股票的最佳时间(指数)= 1&出售股票的最佳时间(指数)= 6 因为这里最大的利润是

  

6-1 = 5

程序必须返回买入指数和卖出指数

1 个答案:

答案 0 :(得分:1)

尝试一下:

public int[] getIndex(int[] arr){
    int max = arr[0], min = arr[0];
    int maxIn = 0, minIn = 0;
    for(int i = 0; i<arr.length; i++){
        if(arr[i] < min){
            minIn = i;
            min = arr[i];
        } else if(arr[i] > max){
            maxIn = i;
            max = arr[i];
        }
    }
    return new int[]{maxIn, minIn};
}