【问题标题】:Finding the minimum of an array from MAX_VALUE从 MAX_VALUE 中找到数组的最小值
【发布时间】:2021-01-08 20:48:24
【问题描述】:

目前我正在尝试在数组中找到最小值。用户输入他们想要创建的数组,然后程序应该找到最小值。我尝试使用 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;
    }
}

标签: java arrays minimum


【解决方案1】:

根据您的描述,您只需要在数组中找到最小值,因此您不需要对这个问题使用递归。以下是对完成这项工作的原始代码的改编。

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 接口,则可以使用one liner来解决此问题。

 public static int findMin(int[] array) {
  return Arrays.stream(array).min().getAsInt();
}

【讨论】:

    【解决方案2】:

    为什么不直接找最小值?

    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();
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-20
      • 2022-01-24
      • 2013-04-08
      • 2016-02-12
      • 1970-01-01
      • 2015-07-07
      • 2014-12-12
      相关资源
      最近更新 更多