Problem of the day
Given an array 'arr' with 'n' elements, the task is to rotate the array to the left by 'k' steps, where 'k' is non-negative.
'arr '= [1,2,3,4,5]
'k' = 1 rotated array = [2,3,4,5,1]
'k' = 2 rotated array = [3,4,5,1,2]
'k' = 3 rotated array = [4,5,1,2,3] and so on.
The first line contains an integer 'n' representing the size of the array.
The second line contains 'n' space-separated integers representing the elements of the array.
The last line contains an integer 'k' representing the number of times the array has to be rotated in the left direction.
Output Format:
The output contains 'n' space-separated integers representing the Rotated array elements.
Note:-
You don’t need to print anything. Just implement the given function.
8
7 5 2 11 2 43 1 1
2
2 11 2 43 1 1 7 5
Rotate 1 steps to the left: 5 2 11 2 43 1 1 7
Rotate 2 steps to the left: 2 11 2 43 1 1 7 5
4
5 6 7 8
3
8 5 6 7
Rotate 1 steps to the left: 6 7 8 5
Rotate 2 steps to the left: 7 8 5 6
Rotate 2 steps to the left: 8 5 6 7
O(n), where ‘n’ is the size of the array ‘arr’ and ‘k’ is the number of rotations.
1 <= 'n' <= 10^3
1 <= 'arr'[i] <= 10^9
1 <= 'k' < 'n'
1. For an index ‘i’, find where it lands after k swaps.
2. When performing rotation once observe how the positions of all elements change.