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]是最重要的。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM