可以按照以下步骤实现: 1. 输入数组。 2. 找到数组中的最大值和最小值。 3. 将最大值与第一个元素交换,将最小值与最后一个元素交换。 4. 输出数组。 具体代码如下: ```python # 输入数组 arr = list(map(int, input().split())) # 找到最大值和最小值的索引 max_index = arr.index(max(arr)) min_index = arr.index(min(arr)) # 交换最大值和第一个元素 arr[], arr[max_index] = arr[max_index], arr[] # 交换最小值和最后一个元素 arr[-1], arr[min_index] = arr[min_index], arr[-1] # 输出数组 print(arr) ``` 注意,这里假设输入的数组中没有重复的元素。如果有重复元素,需要考虑如何处理。
时间: 2024-03-10 12:46:40 浏览: 46
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
5星 · 资源好评率100%
非常好,你的代码实现正确,思路清晰。如果输入数组中有重复元素,可以通过以下代码实现:
```python
# 找到最大值和最小值的索引
max_index = 0
min_index = 0
for i in range(1, len(arr)):
if arr[i] > arr[max_index]:
max_index = i
if arr[i] < arr[min_index]:
min_index = i
# 交换最大值和第一个元素
if max_index != 0:
arr[0], arr[max_index] = arr[max_index], arr[0]
# 交换最小值和最后一个元素
if min_index != len(arr) - 1:
arr[-1], arr[min_index] = arr[min_index], arr[-1]
# 输出数组
print(arr)
```
这里使用了一个 `for` 循环遍历数组,分别找到最大值和最小值的下标,然后进行交换。注意,如果最大值或最小值已经在第一个或最后一个位置上,就不需要交换了。
阅读全文