(编程题)给定一个整型数组,找出其中的最大值和最小值
时间: 2024-01-23 14:04:17 浏览: 76
以下是一个Scala实现的例子:
```scala
val arr = Array(1, 3, 5, 2, 4)
val max = arr.reduceLeft(_ max _)
val min = arr.reduceLeft(_ min _)
println(s"max: $max, min: $min")
```
输出结果为:
```
max: 5, min: 1
```
以上代码中,我们使用了Scala数组的`reduceLeft()`方法来求出数组中的最大值和最小值。`reduceLeft()`方法接受一个函数作为参数,这个函数用于将数组中的元素两两比较,取出其中的最大值或最小值。在本例中,我们使用了`max`和`min`函数来实现这个比较操作。
另外,如果数组为空,以上代码会抛出异常。为了避免这种情况,可以使用`reduceOption()`方法来避免异常,例如:
```scala
val max = arr.reduceOption(_ max _).getOrElse(0)
val min = arr.reduceOption(_ min _).getOrElse(0)
```
这样,如果数组为空,`reduceOption()`方法会返回`None`,调用`getOrElse()`方法会返回默认值0。
阅读全文