Thursday, July 9, 2020

Array Rotation

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 .

Constraints

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:

//code by anewbieprogrammer

#include<iostream>
using namespace std;

void rotLeft(int arr[], int r, int n){
    int temp_arr[n];
    for(int i = 0; i < n; i++){
        temp_arr[i] = arr[i];
    }
    for(int ol = 0; ol < r; ol++){
        int temp = temp_arr[ol];
        for(int il = 1; il < n; il++){
            arr[il-1] = arr[il];
        }
        arr[n-1] = temp;
    }

    for(int i = 0; i < n; i++){
        cout<<arr[i]<<" ";
    }
}
int main(){
    int n, r;
    cin >> n >> r;
    int num_arr[n];
    for(int i = 0; i < n; i++){
        cin >> num_arr[i];
    }
    rotLeft(num_arr, r, n);

    return 0;
}


No comments:

Post a Comment

horizontal ads