DEV Community

Cover image for Arrays: Left Rotation Code Challenge Solved
Marcos Rezende
Marcos Rezende

Posted on

3 2

Arrays: Left Rotation Code Challenge Solved

A left rotation operation on an array shifts each of the array's elements 1 unit to the left. For example, if 2 left rotations are performed on array [1, 2, 3, 4, 5], then the array would become [3, 4, 5, 1, 2].

Given an array a of n integers and a number d, perform d 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 a
  • An integer d, the number of rotations.

Input Format
The first line contains two space-separated integers n and d, the size of a and the number of left rotations you must perform.
The second line contains n space-separated integers a[i].

Constraints
1 <= n <= 10^5
1 <= d <= n
1 <= a[i] <= 10^6

Output Format
Print a single line of n space-separated integers denoting the final state of the array after performing d left rotations.

Sample Input

4
1 2 3 4 5
Enter fullscreen mode Exit fullscreen mode

Sample Output

5 1 2 3 4
Enter fullscreen mode Exit fullscreen mode

Explanation
When we perform left rotations, the array undergoes the following sequence of changes:

[1, 2, 3, 4, 5]
[2, 3, 4, 5, 1]
[3, 4, 5, 1, 2]
[4, 5, 1, 2, 3]
[5, 1, 2, 3, 4]
Enter fullscreen mode Exit fullscreen mode

Solution

function rotLeft($a, $d) {
    $i = 0;
    $m = $d;
    if ($d > sizeof($a)) {
        $m = ($d % sizeof($a));
    }
    while ($i < $m) { 
        $a[] = $a[$i];
        $i++;
    }
    array_splice($a, 0, $m);
    return implode(' ', $a);
}
Enter fullscreen mode Exit fullscreen mode

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay