An array A consisting of N integers is given. Rotation of the array means that each element is shifted right by one index, and the last element of the array is moved to the first place. For example, the rotation of array A = [3, 8, 9, 7, 6] is [6, 3, 8, 9, 7] (elements are shifted right by one index and 6 is moved to the first place).
The goal is to rotate array A K times; that is, each element of A will be shifted to the right K times.
Solution: In this problem , for the outer-loop we should preserve the last element till the Kth iteration and for the inner loop we should traverse the array such that array element at position i store the value at array position i-1. Let’s see the solution
vector<int> solution(vector<int> &A, int K) {
unsigned int i,j;
for(i =0;i<K;i++)
{
last = A[A.size()-1];
for(j=A.size()-1;j>0;j--)
{
A[j] = A[j-1];
}
A[0] = last;
}
return A;
}