Arrays: Left Rotation | HackerRank

left rotation operation on an array shifts each of the array's elements  unit to the left. For example, if  left rotations are performed on array , then the array would become .
Given an array  of  integers and a number, , perform  left rotations on the array. Return the updated array to be printed as a single line of space-separated integers.
Function Description
Complete the function rotLeft in the editor below. It should return the resulting array of integers.
rotLeft has the following parameter(s):
  • An array of integers .
  • An integer , the number of rotations.
Input Format
The first line contains two space-separated integers  and , the size of  and the number of left rotations you must perform.
The second line contains  space-separated integers .
Output Format
Print a single line of  space-separated integers denoting the final state of the array after performing  left rotations.
Sample Input
5 4
1 2 3 4 5
Sample Output
5 1 2 3 4

Solution (c++)

#include <bits/stdc++.h>
using namespace std;

vector split_string(string);

// Complete the rotLeft function below.
vector<int> rotLeft(vector<int> a, int d){
    int n = a.size();
    vector<int>vec(n);
    for(int i=0; i
        vec[i]= a[(i+d)%n];
    }
    return vec;
}

int main()
{
    int size, d;
    cin>>size>>d;
    vector<int>a(size);
    for(int i=0; i
        cin>>a[i];
    }
    a = rotLeft(a,d);
    for(auto ele:a)
        cout<" "
;
    return 0;
}

Comments

Popular posts from this blog

Boxes through a Tunnel | HackerRank

Array Manipulation | HackerRank

String Validators | HackerRank