从 MAX_VALUE 中查找数组的最小值
Finding the minimum of an array from MAX_VALUE
目前我正在尝试查找数组中的最小值。用户输入他们想要创建的数组,然后程序应该找到最小值。我曾尝试使用 max_int 值来找到他的最小值,但我没有取得任何成功。如何找到数组中的最小值?
public class Recursion {
public static int findMin(int[] array, int index, int min) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
return findMin(array, index, min);
}
return smallest;
}
}
从你的描述来看,你只需要找到数组中的最小值即可,所以这个问题不需要使用递归。以下是对完成这项工作的原始代码的改编。
public static int findMin(int[] array) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
}
return smallest;
}
如果你可以使用Stream
界面,你可以用一个单行来解决这个问题。
public static int findMin(int[] array) {
return Arrays.stream(array).min().getAsInt();
}
为什么不只找到 min?
public static int findMin(int[] arr) {
int min = Integer.MAX_VALUE;
for (int a : arr)
min = Math.min(min, a);
return min;
}
甚至:
public static int findMin(int[] arr) {
return Arrays.stream(arr).min().getAsInt();
}
目前我正在尝试查找数组中的最小值。用户输入他们想要创建的数组,然后程序应该找到最小值。我曾尝试使用 max_int 值来找到他的最小值,但我没有取得任何成功。如何找到数组中的最小值?
public class Recursion {
public static int findMin(int[] array, int index, int min) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
return findMin(array, index, min);
}
return smallest;
}
}
从你的描述来看,你只需要找到数组中的最小值即可,所以这个问题不需要使用递归。以下是对完成这项工作的原始代码的改编。
public static int findMin(int[] array) {
int smallest = Integer.MAX_VALUE;
for (int i = 0; i < array.length; i++) {
if (array[i] < smallest) {
smallest = array[i];
}
}
return smallest;
}
如果你可以使用Stream
界面,你可以用一个单行来解决这个问题。
public static int findMin(int[] array) {
return Arrays.stream(array).min().getAsInt();
}
为什么不只找到 min?
public static int findMin(int[] arr) {
int min = Integer.MAX_VALUE;
for (int a : arr)
min = Math.min(min, a);
return min;
}
甚至:
public static int findMin(int[] arr) {
return Arrays.stream(arr).min().getAsInt();
}