大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~
题目描述
编写一个Java程序,输入一个整数数组,将最大的元素与第一个元素交换,最小的元素与最后一个元素交换,然后输出修改后的数组。
解题思路
- 遍历数组,找到最大元素和最小元素的位置。
- 交换最大元素与第一个元素。
- 交换最小元素与最后一个元素(注意:如果最大元素就在最后一个位置,需要特别处理)。
- 输出修改后的数组。
源码答案
import java.util.Arrays;
public class ArrayElementSwap {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7, 9, 2, 4, 6, 8, 0}; // 示例数组
int maxIndex = 0; // 最大元素索引
int minIndex = 0; // 最小元素索引
// 找到最大和最小元素的索引
for (int i = 1; i < arr.length; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
if (arr[i] < arr[minIndex]) {
minIndex = i;
}
}
// 交换最大元素与第一个元素
int temp = arr[0];
arr[0] = arr[maxIndex];
arr[maxIndex] = temp;
// 如果最大元素在最后一个位置,更新最小元素的索引
if (maxIndex == arr.length - 1) {
minIndex = 0;
}
// 交换最小元素与最后一个元素
temp = arr[arr.length - 1];
arr[arr.length - 1] = arr[minIndex];
arr[minIndex] = temp;
// 输出修改后的数组
System.out.println("修改后的数组:" + Arrays.toString(arr));
}
}
输出结果
程序将输出根据题目要求修改后的数组。
例如,如果输入数组为{1, 3, 5, 7, 9, 2, 4, 6, 8, 0},输出结果将是:
修改后的数组:[9, 3, 5, 7, 1, 2, 4, 6, 8, 0]
AI时代的游轮已经到来
如果你觉得开发过程中存在重复性工作,效率不够高。
不妨看看影子的AI+编程玩法,助力每一位编程人员提高效率,无论你是在校学生或是工作者,都应为未来的AIG时代做准备。
AI编程实践资料https://blog.csdn.net/yingzix688/article/details/137894050