求一個數組中的最小值,最簡單就是遍歷。
我們有兩種方法,去求最小值。方法一
public static int min1(int[] array){
int minValue = array[0];
for (int i = 0; i<array.length;i++){
if (array[i]<minValue)
minValue = array[i];
}
return minValue;
}
首先,認爲索引位置爲0的元素爲最小值,並將最小值賦值給minValue,若後面有比之更小的,則將最小值賦值給minValue,最終遍歷得到最小值。
方法二
public static int min2(int[] array){
int minIndex = 0;
for (int i = 0; i<array.length;i++){
if (array[i]<array[minIndex])
minIndex = i;
}
return minIndex;
}
首先,認爲最小值在索引爲0 的位置上,並將最小值所在的索引賦值給minIndex,若後面有比之更小的,將更小的值所在的索引賦值給minIndex,並最終遍歷得到最小值所在的索引。可以看出,方法一操作的是數組的元素,丟失了它的位置信息,方法二操作的是元素所在的索引,保存位置信息。從一定程度上來說,方法二優於方法一。