Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Reverse Array K Rotations

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Reverse Array K Rotations. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

ABC Education's learner progress service stores ordered lesson identifiers in an array. Given an integer array nums and a non-negative integer k, rotate the array to the right by k positions and return the modified array.

Provide two solutions in this order:

  1. Brute force: move the last element to the front one position at a time.
  2. Optimal: use three in-place reversals. You must implement the reversal helper yourself and may not call a library reverse function or create a second array proportional to nums.

Formal Specification

  • Input: nums, a mutable array of integers, and k, a non-negative integer.
  • Output: The same array object after a right rotation by k positions.
  • Rotation should treat values in the original array as circular. Rotating by the array length, or any multiple of it, leaves the array unchanged.

Constraints

  • 0 <= nums.length <= 10^5
  • 0 <= k <= 10^9
  • -10^9 <= nums[i] <= 10^9
  • Modify nums in place.
  • Use O(1) auxiliary space.
  • Do not call a library reverse or rotation function.

Function Signature

def rotate(nums, k):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output