gpt4 book ai didi

java - 使用 EXACTLY 1 流查找数组中元素对的最大差异

转载 作者:行者123 更新时间:2023-12-01 19:27:15 25 4
gpt4 key购买 nike

我正在尝试编写一个函数来查找数组(1D)中任意两个元素之间的最大差异。我已经通过多种方式解决了(我是用Java应用的)

  1. 使用2个嵌套循环(有效,找到差异并取最大值)
  2. 使用1次循环迭代(有效,在返回它们的差值后找到最小值和最大值:(max - min))
  3. 使用流两次(有效,使用流的 min() 和 max() 函数查找最大值和最小值并返回差值)。

现在的问题是:如何编写一个函数,使用恰好 1 个流计算数组中任意 2 个元素之间的最大差异?

这是我写的最后一篇:

public static int maxDifference(int[] arr) {
return Arrays.stream(arr).min().orElseThrow(NoSuchElementException::new) -
Arrays.stream(arr).max().orElseThrow(NoSuchElementException::new);
}

最佳答案

使用Arrays.stream(arr).summaryStatistics() - 它会返回一个IntSummaryStatistics具有最小值和最大值访问器的对象。

关于java - 使用 EXACTLY 1 流查找数组中元素对的最大差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61128611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com