返回具有最小值索引的数组的最小值



如何在java中实现一个返回整数数组最小值和最小值索引的函数?换句话说,要返回对值,第一个值是最小值,第二个值是该最小值的索引。

我所知道的是,java中有一个内置函数来查找最小值,但我也需要返回数组中该最小值的索引。

数组的类型为integer。

您可以在数组上循环,边走边更新当前的最小索引。

int[] arr = {1,2,3,4,5};
int minIdx = 0; //maybe handle empty array
for(int i = 1; i < arr.length; i++){
if(arr[i] < arr[minIdx]) minIdx = i;
}
System.out.println("Min index: " + minIdx + ", min value: " + arr[minIdx]);

如果要从方法返回结果,可以使用数组或值对象。

public int[] getMin(final int[] arr){
if(arr.length == 0) return null; //empty
int minIdx = 0;
for(int i = 1; i < arr.length; i++){
if(arr[i] < arr[minIdx]) minIdx = i;
}
return new int[]{minIdx, arr[minIdx]};//first element is index, second is value
}

最新更新