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

PTA 7-1 数组元素循环右移问题 (20分)_第1张图片

输入样例:

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){
 9             a[(i+m)%n]=sc.nextInt();//数组位置的逻辑需要清楚
10         }
11         System.out.print(a[0]);
12         for(int i=1;i){
13             System.out.print(" "+a[i]);
14         }
15     }
16 }

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

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

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



你可能感兴趣的:(PTA 7-1 数组元素循环右移问题 (20分))