1. 程式人生 > >PAT乙級:1008. 陣列元素迴圈右移問題 (Java)

PAT乙級:1008. 陣列元素迴圈右移問題 (Java)

這裡寫圖片描述

如果只是輸出正確的結果我認為移動的應該不是元素,而是指標。只需要記錄一下從什麼地方開始向後遍歷即可。


import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        int N=0;//陣列大小
        int M=0;//右移位置
        Scanner s=new Scanner(System.in);
        N=s.nextInt();
        M=s.nextInt();
        int index=N-(M%N);//標記從哪一個下標開始向後遍歷
//錄入、儲存資料 int [] nums=new int[N]; for (int i = 0; i < nums.length; i++) { nums[i]=s.nextInt(); } //輸出結果 if (nums.length==1) {//考慮臨界的情況,如果只有一個數,直接輸出即可 System.out.print(nums[index%N]); }else{ System.out.print(nums[index
%N]+" "); int original_index=index; index++; while ((index%N)!=(original_index%N)) { if ((index%N)==( (original_index-1) %N))//輸出最後一個的時候不用再加空格 { System.out.print(nums[index%N]); }else{ System.out.print(nums[index
%N]+" "); } index++; } } } }