pta 求二维数组中的最大值和最小
时间: 2025-02-21 08:08:36 浏览: 56
### 查找二维数组中的最大值和最小值
#### C语言实现方法
在C语言中,可以通过遍历整个二维数组来寻找其中的最大值和最小值。具体做法是从第一个元素开始初始化`max`和`min`变量,随后通过双重循环访问每一个元素并与当前记录的最大值和最小值比较并更新[^4]。
```c
#include <stdio.h>
#define N 3
#define M 4
int main() {
int a[N][M], i, j, max, min;
// 输入数据部分省略
max = a[0][0];
min = a[0][0];
for (i = 0; i < N; ++i) {
for (j = 0; j < M; ++j) {
if (a[i][j] > max)
max = a[i][j];
if (a[i][j] < min)
min = a[i][j];
}
}
printf("Max=%d\nMin=%d\n", max, min);
return 0;
}
```
#### Java实现方式
对于Java而言,在处理多维数组时同样可以采用类似的逻辑结构来进行最值查询操作。这里展示了一个简单的例子用于说明如何获取给定分数矩阵内的最高分与最低分[^2]:
```java
public class Main {
public static void main(String[] args){
double[][] scores = {{89.5,76.5},{92.5,88.5}};
double maxScore = Double.NEGATIVE_INFINITY;
double minScore = Double.POSITIVE_INFINITY;
for(int row = 0 ;row<scores.length;++row){
for(double element :scores[row]){
if(element>maxScore){
maxScore=element;}
if(element<minScore){
minScore=element;}
}
}
System.out.println("Maximum Score:"+maxScore+"\nMinimum Score:"+minScore);
}
}
```
#### Python实现方案
Python提供了更加简洁的方式来完成这项任务。可以直接利用内置函数`min()`以及`max()`配合列表解析表达式快速得到结果。需要注意的是当直接应用于嵌套列表(即所谓的“二维列表”)上可能会遇到错误提示,因此应该先将其展平成一维形式再调用这些函数[^3]。
```python
import numpy as np
def flatten(lst):
return [item for sublist in lst for item in sublist]
data = [[1, 2, 3], [4, 5, 6]]
flat_data = flatten(data)
print(f'Maximum Value:{np.max(flat_data)}')
print(f'Minimum Value:{np.min(flat_data)}')
# 或者不使用numpy库的情况下也可以这样写:
print('Maximum Value:', max(flatten(data)))
print('Minimum Value:', min(flatten(data)))
```
阅读全文
相关推荐














