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

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

一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0A1……AN-1)變換為(AN-M …… AN-1 A0 A1……AN-M-1)(最後M個數迴圈移至最前面的M個位置)。如果需要考慮程式移動資料的次數儘量少,要如何設計移動的方法?

輸入格式:每個輸入包含一個測試用例,第1行輸入N ( 1<=N<=100)、M(M>=0);第2行輸入N個整數,之間用空格分隔。

輸出格式:在一行中輸出迴圈右移M位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。

輸入樣例:

6 2
1 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		
		int size = in.nextInt();
		int cnt = in.nextInt();
		int[] array = new int [size];
		
		for(int i = 0; i < array.length; i++){
			array[i] = in.nextInt();
		}
		
		in.close();
		
		for(int i = 0; i < cnt; i++){
			int temp = array[array.length-1];
			for(int j = array.length-1; j > 0; j--){
				array[j] = array[j-1];
			}
			array[0] = temp;
		}
		
		for(int i = 0; i < array.length; i++){
			System.out.print(array[i]);
			if(i != array.length -1){
				System.out.print(" ");
			}
		}
	}

}

一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0A1……AN-1)變換為(AN-M …… AN-1 A0 A1……AN-M-1)(最後M個數迴圈移至最前面的M個位置)。如果需要考慮程式移動資料的次數儘量少,要如何設計移動的方法?

輸入格式:每個輸入包含一個測試用例,第1行輸入N ( 1<=N<=100)、M(M>=0);第2行輸入N個整數,之間用空格分隔。

輸出格式:在一行中輸出迴圈右移M位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。

輸入樣例:

6 2
1 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		
		int size = in.nextInt();
		int cnt = in.nextInt();
		int[] array = new int [size];
		
		for(int i = 0; i < array.length; i++){
			array[i] = in.nextInt();
		}
		
		in.close();
		
		for(int i = 0; i < cnt; i++){
			int temp = array[array.length-1];
			for(int j = array.length-1; j > 0; j--){
				array[j] = array[j-1];
			}
			array[0] = temp;
		}
		
		for(int i = 0; i < array.length; i++){
			System.out.print(array[i]);
			if(i != array.length -1){
				System.out.print(" ");
			}
		}
	}

}

相關推薦

PAT乙級1008陣列元素迴圈

題目描述: 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A ​0 ​​ A ​1 ​​ ⋯A ​N−1 ​​ )變換為(A ​N−M ​​ ⋯A ​N−1 ​​ A ​0 ​​ A ​1 ​​ ⋯A ​N−

PAT 乙級 1008 陣列元素迴圈問題

1008 陣列元素迴圈右移問題 (20 point(s)) 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A​0​​A​1​​⋯A​N−1​​)變換為(A​N−M​​⋯A​N−1​​A​0​​

PAT 乙級 1008陣列元素迴圈問題 C語言

1008. 陣列元素迴圈右移問題 (20) 題目: 一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0 A

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

一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0A1……AN-1)變換為(AN-M …… AN-1 A0 A1……AN-M-1)(最後M個數迴圈移至最前面的M個位置)。如果需要

PAT 乙級 1008. 陣列元素迴圈問題 (20)

我真的自從17年考研開始,就幾乎再也沒寫過C++,基本上都是做java,天天eclipse,因為有軟體測試課,還有生產實習去公司裡做小遊戲,陷入了JAVA的世界幾乎把我的C++語法和演算法快忘光了。考研考的不好。就像,人類一敗塗地。開學準備水一波天梯賽,開始撿一撿我的程式設計

PAT(乙級)1008:陣列元素迴圈問題 (20)

1008. 陣列元素迴圈右移問題 (20)時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(

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

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

PAT1008 陣列元素迴圈問題 (20 分)

1008 陣列元素迴圈右移問題 (20 分) 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A​0​​A​1​​⋯A​N−1​​)變換為(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A

PAT basic 1008. 陣列元素迴圈問題 (20)

小小宣告:某渣大學生,斗膽獻上自己的程式碼~~~程式碼多餘處,多多包涵。 一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,

PAT-B 1008. 陣列元素迴圈問題(python)

利用python的list支援負值索引的特點,可以很簡單的解決這題。 初學py, 第一次發現比C++更方便的地方... 另注意到,對於一行有多個數字的輸入格式,可使用raw_input().split(' ')再轉換為int()的方法來處理。如果有更方便的方法請告訴我一聲,

PAT Basic 1008. 陣列元素迴圈問題 (20)(C語言實現)

, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個

1008. 陣列元素迴圈問題 (20)--PAT乙級

1008. 陣列元素迴圈右移問題 (20) 時間限制 400 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 一

PAT乙級1008. 陣列元素迴圈問題

一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0 A1……AN-1)變換為(AN-M …… AN-1 A0A1……AN-M-1)(最後M個數迴圈移至最前面的M個位置)。如果需要考

PAT乙級1008 陣列元素迴圈問題(C語言實現)

總結:1、思路:定義陣列空間時大一些,將前(N-M)個數移到N個數後。即利用本陣列多餘的空間來儲存數字,也相當於構建了                  另一個數組的作用。            2、坑點:不要想當然地認為N>M,所以在M>N時需要對M進行處

PAT(Basic Level) Practice——1008 陣列元素迴圈問題

原題目: 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A​0​​A​1​​⋯A​N−1​​)變換為(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最後M個數迴圈移至最前面的M個位置)

PAT 1008 陣列元素迴圈問題 C++

一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A​0​​A​1​​⋯A​N−1​​)變換為(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最後M個數迴圈移至最前面的M個

PAT-1008 陣列元素迴圈問題

1008 陣列元素迴圈右移問題 (20 分) 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A​0​​A​1​​⋯A​N−1​​)變換為(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​

PAT (Basic Level) Practice (中文)1008 陣列元素迴圈問題

1008 陣列元素迴圈右移問題 一個數組A中存有N(N&gt0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A~0~ A~1~……A~N-1~)變換為(A~N-M~ …… A~N-1~ A~0

PAT (Basic Level) Practice (中文) 1008 陣列元素迴圈問題 (20 分) (C++)

1008 陣列元素迴圈右移問題 (20 分) 一個數組A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A ​0 ​​ A ​1 ​​ ⋯A ​N−1 ​​ )變換為(A ​N−M ​​ ⋯A ​N−1 ​​ A ​

PAT (Basic Level) Practise (中文)1008. 陣列元素迴圈問題 (20)

一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(M>=0)個位置,即將A中的資料由(A0A1……AN-1)變換為(AN-M …… AN-1 A0 A1……AN-M-1)(最後M個數迴圈移至最前面的M個位置)。如果需要考慮程式移動資料的次數儘量少,要如何