pta 函数题 数组中最大数和a[0]对调,最小数和a[1]对调
时间: 2024-09-20 08:03:37 浏览: 50
pta题库答案c语言之复杂度1最大子列和问题.zip
"pta函数题"通常指的是编程题目中的一种常见场景,比如在一个数组`a[]`中,你需要找到其中的最大值和最小值,并将它们分别与数组的第一个元素`a[0]`和第二个元素`a[1]`对调。这个问题旨在考察学生对于数组操作、排序算法以及条件判断的理解。
例如,你可以通过一次遍历找出最大值和最小值,然后使用临时变量进行交换。伪代码可以这样描述:
```python
def swapMinMax(a):
if len(a) < 2:
return
max_val = a[0]
min_val = a[1]
for i in range(2, len(a)):
if a[i] > max_val:
max_val = a[i]
elif a[i] < min_val:
min_val = a[i]
# 对原数组进行调整
a[0], a[1] = min_val, max_val
a[1], a[0] = max_val, min_val # 另一种方式确保交换完成
# 示例
arr = [3, 5, 1, 8, 4]
swapMinMax(arr)
print(arr) # 输出: [1, 8, 3, 4, 5]
```
在这个例子中,函数首先初始化最大值和最小值为数组的前两个元素,然后遍历剩余部分更新这两个值。最后,用临时变量交换原始数组中的最大值和最小值位置。
阅读全文