Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Arrays, Looping, and Shuffling

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

Your question is Arrays, Looping, and Shuffling. 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

Amplify quiz interfaces need to display answer choices in a different order while preserving every choice exactly once. Implement an in-place shuffle using the Fisher-Yates algorithm.

To make the result reproducible for testing, the function receives a seed. Use Python's random.Random(seed) instance rather than the module-level random generator.

Formal Specification

Implement shuffle_array(nums, seed), where nums is a list of values and seed is an integer. Modify nums in place and return the same list object after producing a permutation. The shuffle must give every possible permutation an equal opportunity when the random generator is unbiased.

Constraints

  • 0 <= len(nums) <= 10^5
  • nums may contain arbitrary list values
  • seed is an integer
  • Return the same list object that was provided

Function Signature

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