给定一个整型数组,找出其中的最大值和最小值。scala
时间: 2024-02-24 17:00:11 浏览: 242
可以使用 Scala 中的内置函数 `max` 和 `min` 来找到数组中的最大值和最小值。示例如下:
```scala
val arr = Array(1, 2, 3, 4, 5)
val maxVal = arr.max
val minVal = arr.min
println(s"Max value: $maxVal, Min value: $minVal")
```
输出结果为:
```
Max value: 5, Min value: 1
```
其中,`max` 函数返回数组中的最大值,`min` 函数返回数组中的最小值。
相关问题
(编程题)给定一个整型数组,找出其中的最大值和最小值
以下是一个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。
7-4 交换最小值和最大值 (15 分)
题目描述
输入一个长度为 $N$ 的整数序列,输出交换其中最小值和最大值后的序列。题目保证序列中的最小值和最大值唯一且不重复。
输入格式
第一行包含整数 $N$,表示序列长度。
第二行包含 $N$ 个整数,表示整数序列。
输出格式
共一行,包含 $N$ 个整数,表示交换最小值和最大值后的序列。
数据范围
$1≤N≤100000$,序列中元素均保持绝对值不超过 $100000$。
输入样例1
6
1 2 3 4 5 6
输出样例1
6 2 3 4 5 1
输入样例2
6
6 5 4 3 2 1
输出样例2
1 5 4 3 2 6
题目翻译
给定一个长度为 $N$ 的整数序列,交换其中最小值和最大值后输出。
输入格式:
第一行输入一个整数 $N$,表示序列长度。
第二行输入 $N$ 个整数,表示整数序列。
输出格式:
输出交换最小值和最大值后的序列。
数据范围:
$1≤N≤100000$,序列中元素均保持绝对值不超过 $100000$。
输入样例1:
6
1 2 3 4 5 6
输出样例1:
6 2 3 4 5 1
输入样例2:
6
6 5 4 3 2 1
输出样例2:
1 5 4 3 2 6
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
python3 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
算法3
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Java 代码
算法4
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C 代码
算法5
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Go 代码
算法6
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Scala 代码
算法7
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
JavaScript 代码
算法8
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C# 代码
算法9
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
PHP 代码
算法10
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Ruby 代码
算法11
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
Swift 代码
阅读全文