Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. public class Solution {
  2. private int[] _original;
  3. Random _randomGenerator;
  4.  
  5. public Solution(int[] nums) {
  6. _original = new int[nums.Length];
  7. Array.Copy(nums, _original, nums.Length);
  8. _randomGenerator = new Random();
  9. }
  10.  
  11. /** Resets the array to its original configuration and return it. */
  12. public int[] Reset() {
  13. int[] returnArray = new int[_original.Length];
  14. Array.Copy(_original, returnArray, _original.Length);
  15. return returnArray;
  16. }
  17.  
  18. /** Returns a random shuffling of the array. */
  19. public int[] Shuffle() {
  20. int[] shuffled = new int[_original.Length];
  21. Array.Copy(_original, shuffled, _original.Length);
  22. for (int i = 0; i < shuffled.Length - 1; i++)
  23. {
  24. var rand = _randomGenerator.Next(i + 1, shuffled.Length - 1);
  25. var tmp = shuffled[i];
  26. shuffled[i] = shuffled[rand];
  27. shuffled[rand] = tmp;
  28. }
  29.  
  30. return shuffled;
  31. }
  32. }
  33.  
  34. /**
  35. * Your Solution object will be instantiated and called as such:
  36. * Solution obj = new Solution(nums);
  37. * int[] param_1 = obj.Reset();
  38. * int[] param_2 = obj.Shuffle();
  39. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement