所以这是一个独特的问题,我将不胜感激任何帮助。
目标: 计算并返回距离'的整数从最小值到最大值。 列表未排序,不应排序。 最小值可能在max或vise-verse之前。 在{2,-5,-7,8,22,-10}的答案中,答案= 1(从-10到22的距离) 在{2,-5,-7,8,22,-6}的答案中,答案= 2(从-7到22的距离)
感谢您的帮助。
答案 0 :(得分:6)
只需跟踪相应的索引:
double min = list[0];
int minIndex = 0;
double max = list[0];
int maxIndex = 0;
for (int i =1 ; i < list.length ; i++) {
if(min > list[i]){
min = list[i];
minIndex = i;
}
if(max < list[i]){
max = list[i];
maxIndex = i;
}
}
int res = Math.abs(minIndex - maxIndex);
答案 1 :(得分:2)
在找到max
和min
时保持指责:
int indMin = 0;
int indMax = 0;
double min = list[0];
double max = list[0];
for (int i =0; i<list.length;i++){
if(min>list[i]){
min=list[i];
indMin = i;
}
if(max<list[i]){
max = list[i];
indMax = i;
}
}
int distance = Math.abs(indMax - indMin);