给出数组: 您已给出股票价格,需要先购买然后再出售。并找出从给定数组中出售股票的最佳时间(指数)和从给定数组中购买股票的最佳时间(指数)。并且您需要将两个索引都恢复正常运行。 注意:在出售股票之前,您需要先购买。
int[] prices={7,1,5,3,6,4};
Output : {1,6}
此处购买股票的最佳时间(指数)= 1&出售股票的最佳时间(指数)= 6 因为这里最大的利润是
6-1 = 5
程序必须返回买入指数和卖出指数
答案 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};
}