classSolution{ privateint[] src; privateint[] arr; private Random random;
publicSolution(int[] nums){ src = nums; arr = Arrays.copyOf(src, src.length); random = new Random(); }
publicint[] reset() { return src; }
/** Returns a random shuffling of the array. */ publicint[] shuffle() { for (int i = arr.length - 1; i >= 0; --i) { swap(i, random.nextInt(i + 1)); } return arr; }
privatevoidswap(int i, int j){ int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } }