Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Solution {
- private int[] _original;
- Random _randomGenerator;
- public Solution(int[] nums) {
- _original = new int[nums.Length];
- Array.Copy(nums, _original, nums.Length);
- _randomGenerator = new Random();
- }
- /** Resets the array to its original configuration and return it. */
- public int[] Reset() {
- int[] returnArray = new int[_original.Length];
- Array.Copy(_original, returnArray, _original.Length);
- return returnArray;
- }
- /** Returns a random shuffling of the array. */
- public int[] Shuffle() {
- int[] shuffled = new int[_original.Length];
- Array.Copy(_original, shuffled, _original.Length);
- for (int i = 0; i < shuffled.Length - 1; i++)
- {
- var rand = _randomGenerator.Next(i + 1, shuffled.Length - 1);
- var tmp = shuffled[i];
- shuffled[i] = shuffled[rand];
- shuffled[rand] = tmp;
- }
- return shuffled;
- }
- }
- /**
- * Your Solution object will be instantiated and called as such:
- * Solution obj = new Solution(nums);
- * int[] param_1 = obj.Reset();
- * int[] param_2 = obj.Shuffle();
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement