可以按照以下步骤实现: 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 10:46:40 浏览: 18
非常好,你的代码实现正确,思路清晰。如果输入数组中有重复元素,可以通过以下代码实现:
```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` 循环遍历数组,分别找到最大值和最小值的下标,然后进行交换。注意,如果最大值或最小值已经在第一个或最后一个位置上,就不需要交换了。
相关问题
判断数组中的最大值和最小值
判断数组中的最大值和最小值可以通过遍历数组来实现。具体步骤如下:
1. 假设数组中的第一个元素为最大值和最小值。
2. 遍历数组,依次比较每个元素与当前最大值和最小值的大小关系,更新最大值和最小值。
3. 遍历完成后,最大值和最小值即为数组中的最大值和最小值。
代码示例(Python):
```
def find_max_min(arr):
max_val = arr[0]
min_val = arr[0]
for i in range(1, len(arr)):
if arr[i] > max_val:
max_val = arr[i]
if arr[i] < min_val:
min_val = arr[i]
return max_val, min_val
```
js.输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
好的,这是一个常见的数组操作题,可以按照以下步骤来实现:
1. 定义一个函数,接收一个数组作为参数。
2. 找到数组中的最大值和最小值,以及它们对应的索引。
3. 将最大值和数组的第一个元素交换位置,将最小值和数组的最后一个元素交换位置。
4. 返回交换后的数组。
下面是实现代码:
```javascript
function swapArray(arr) {
let max = arr[0], min = arr[0];
let maxIndex = 0, minIndex = 0;
for(let i = 0; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
maxIndex = i;
}
if(arr[i] < min) {
min = arr[i];
minIndex = i;
}
}
[arr[0], arr[maxIndex]] = [arr[maxIndex], arr[0]];
[arr[arr.length - 1], arr[minIndex]] = [arr[minIndex], arr[arr.length - 1]];
return arr;
}
```
使用示例:
```javascript
let arr = [3, 1, 5, 4, 2];
console.log(swapArray(arr)); // [5, 1, 3, 4, 2]
```
这里假设数组中不存在相同的最大值或最小值,如果存在需要进行额外的处理。