class Solution {
private final int[] nums;
private final int[] shuffle;
private final Random random;
public Solution(int[] nums) {
this.nums = nums;
this.random = new Random();
this.shuffle = Arrays.copyOf(nums, nums.length);
}
public int[] reset() {
return nums;
}
public int[] shuffle() {
for (int i = shuffle.length - 1; i >= 0; --i) {
int n = random.nextInt(i + 1);
int t = shuffle[i];
shuffle[i] = shuffle[n];
shuffle[n] = t;
}
return shuffle;
}
}



