Rotate Array

Sanket Bendale
1 min readFeb 1, 2021

Basic

Accuracy: 59.87% Submissions: 100k+ Points: 1

Given an unsorted array arr[] of size N, rotate it by D elements (clockwise).

Input:
The first line of the input contains T denoting the number of testcases. First line of each test case contains two space separated elements, N denoting the size of the array and an integer D denoting the number size of the rotation. Subsequent line will be the N space separated array elements.

Output:
For each testcase, in a new line, output the rotated array.

Constraints:
1 <= T <= 200
1 <= N <= 107
1 <= D <= N
0 <= arr[i] <= 105

Example:
Input:
2
5 2
1 2 3 4 5
10 3
2 4 6 8 10 12 14 16 18 20

Output:
3 4 5 1 2
8 10 12 14 16 18 20 2 4 6

Explanation :
Testcase 1: 1 2 3 4 5 when rotated by 2 elements, it becomes 3 4 5 1 2.

Solution:

#include <iostream>
using namespace std;

int main() {
//code
int t,i;
cin>>t;
while(t — ){
int m,n;
cin>>m>>n;
int arr[m];
for(i=0;i<m;i++){
cin>>arr[(i+m-n)%m];
}
for(i=0;i<m;i++){
cout<<arr[i]<<” “;
}

cout<<endl;
}
return 0;
}

--

--