PTA 7-1 数组元素循环右移问题 (20分)

输入样例:

6 2
1 2 3 4 5 6

输出样例:

5 6 1 2 3 4

 1 import java.util.Scanner;
 2 public class Main {
 3     public static void main(String[] args) {
 4         Scanner sc=new Scanner(System.in);
 5         int n=sc.nextInt();
 6         int m=sc.nextInt();
 7         int a[]=new int[n];
 8         for(int i=0;i<n;i++){
 9             a[(i+m)%n]=sc.nextInt();//数组位置的逻辑需要清楚
10         }
11         System.out.print(a[0]);
12         for(int i=1;i<n;i++){
13             System.out.print(" "+a[i]);
14         }
15     }
16 }

 有参考网上的各种答案,但是看别人的代码实在是太长了 看不下去(看不懂)就开始研究自己写 可能和别人方法都是一样的。

一开始的做法是三个for循环 第一个用来赋值 第二个移动 第三个输出 当时就觉得有点繁琐,想着一会再简化一下,结果算数组位置的时候就算错了 【(i+m)%n】 就干脆全删掉,直接写自己想的简化的代码,然后碰巧答案正确。

第九行代码a[(i+m)%n]是最重要的。



看似不起波澜的日复一日 会突然在某一天 让你看到坚持的意义 ​​​​
原文地址:https://www.cnblogs.com/Flyfishy/p/12249871.html