1008 陣列元素迴圈右移問題 (20分)
1008 陣列元素迴圈右移問題 (20分)
一個陣列A中存有N(>0)個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移M(≥0)個位置,即將A中的資料由(A0 A1 ⋯AN−1 )
變換為(AN−M ⋯AN−1 A0 A1 ⋯AN−M−1 )
(最後M個數迴圈移至最前面的M個位置)。如果需要考慮程式移動資料的次數儘量少,要如何設計移動的方法?
輸入格式:
每個輸入包含一個測試用例,第1行輸入N(1≤N≤100)和M(≥0);第2行輸入N個整數,之間用空格分隔。
輸出格式:
在一行中輸出迴圈右移M位以後的整數序列,之間用空格分隔,序列結尾不能有多餘空格。
輸入樣例:
6 2
1 2 3 4 5 6
輸出樣例:
5 6 1 2 3 4
簡單粗暴的做法
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
int a[n];
/*這個一定要寫在輸入n之後,否則就是錯誤的啊啊,
應該是計算機那時候識別不了n到底有多大吧*/
// if(n<1)//我發現判不判斷的無所謂了
// return 0;
m=m%n;
for(int i=0; i<n; i++)
cin>>a[i];
int cnt=0;
for(int i=n-m; i<n; i++) {
if(cnt++)
cout<<" ";
cout<<a[i];
}
for(int i=0; i<n-m; i++) {
if(cnt++)
cout<<" ";
cout<<a[i];
}
return 0;
}
相關文章
- [PAT B] 1008 陣列元素迴圈右移問題陣列
- 1008 陣列元素迴圈右移問題 (20 分)java陣列Java
- PAT1008 陣列元素迴圈右移問題(java實現)陣列Java
- PAT-B 1008 陣列元素迴圈右移問題【簡單模擬】陣列
- 習題8-3 陣列迴圈右移 及 練習7-8 方陣迴圈右移陣列
- 陣列迴圈陣列
- for迴圈無法刪除陣列所有指定元素陣列
- 在迴圈陣列時使用splice()方法刪除陣列遇到的問題陣列
- O1空間複雜度實現陣列迴圈右移_LeetCode189複雜度陣列LeetCode
- 1_使用swiper陣列物件迴圈圖片遇到的問題陣列物件
- for..in 迴圈陣列需注意陣列
- js陣列迴圈方法對比JS陣列
- 靜態佇列,迴圈陣列實現佇列陣列
- 陣列常見的遍歷迴圈方法、陣列的迴圈遍歷的效率對比陣列
- while迴圈和do迴圈、緩衝區、一維陣列While陣列
- 手擼MQ訊息佇列——迴圈陣列MQ佇列陣列
- TopK問題,陣列中第K大(小)個元素問題總結TopK陣列
- php 迴圈陣列引用傳值改變陣列本身的值PHP陣列
- Go_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- 457. 環形陣列是否存在迴圈陣列
- require()迴圈引用問題UI
- 在ArrayList的迴圈中刪除元素,會不會出現問題?
- php陣列問題PHP陣列
- 陣列元素逆序陣列
- leetcode題解(陣列問題)LeetCode陣列
- 迴圈陣列最大欄位和(51Nod-1050)陣列
- ASP.NET Razor – VB 迴圈和陣列簡介ASP.NET陣列
- Go 處理大陣列:使用 for range 還是 for 迴圈?Go陣列
- FastJson中迴圈引用的問題ASTJSON
- ConcurrentHashMap竟然也有死迴圈問題?HashMap
- 陣列元素劃分陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- JS陣列迴圈的效能和效率分析(for、while、forEach、map、for of)JS陣列While
- ASP.NET Razor – C# 迴圈和陣列簡介ASP.NETC#陣列
- 佇列 和 迴圈佇列佇列
- LeetCode 迴圈佇列LeetCode佇列
- 迴圈內臨時變數問題變數
- Linux while 迴圈中使用ssh問題LinuxWhile