import java.util.Scanner; public class Main { /* * 给定N个整数组成的序列,每次交换当前第x个与第y个整数,要求输出最终的序列。 第一行为序列的大小N(1< =N< =1000)和操作个数M(1< * =M< =1000)。 第二行包含N个数字,表示初始序列。 接下来M行,每行两个整数x,y (1< =x,y< * =N),表示要交换的两个整数。在一次交换中,如果x和y相等,则不会改变序列的内容。 */ public static void main(String[] args) { Scanner input = new Scanner(System.in); int N = input.nextInt(); int M = input.nextInt(); int[] arr1 = new int[N]; for (int i = 0; i < N; i++) { arr1[i] = input.nextInt(); } int temp = 0; int[] arr2 = new int[2]; for (int i = 0; i < M; i++) // 每一次交换位置; { arr2[0] = input.nextInt(); arr2[1] = input.nextInt(); //交换位置, 对应于数组,索引 减 一 temp = arr1[(arr2[0] - 1)]; arr1[(arr2[0] - 1)] = arr1[(arr2[1] - 1)]; arr1[(arr2[1] - 1)] = temp; } for (int i = 0; i < arr1.length; i++) { System.out.println(arr1[i]); } } }
解题思路: 顺便点个赞
注意事项:
参考代码:
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:836 |
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1337 |
【密码】 (C语言代码)浏览:333 |
【蟠桃记】 (C语言代码)浏览:651 |
成绩转换 (C语言代码)浏览:1008 |
众数问题 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:609 |
字符逆序 (C语言代码)浏览:617 |
核桃的数量 (C语言代码)浏览:671 |
1128题解(返回值为数组的情况)浏览:473 |