/**
* @program: mydemo
* @description: 设计问题-打乱数组
* @author: Mr.zeng
* @create: 2021-02-18 10:44
**/publicclassSolution31{privateint[] array;privateint[] original;private Random rand=newRandom();private List<Integer>getArrayCopy(){
List<Integer> asList=newArrayList<>();for(int i =0; i < array.length; i++){
asList.add(array[i]);}return asList;}publicSolution31(int[] nums){
array=nums;
original=nums.clone();}/** Resets the array to its original configuration and return it. */publicint[]reset(){
array=original;
original=original.clone();return array;}/** Returns a random shuffling of the array. */publicint[]shuffle(){
List<Integer> aux=getArrayCopy();for(int i =0; i < array.length; i++){int removeIdx=rand.nextInt(aux.size());
array[i]=aux.get(removeIdx);
aux.remove(removeIdx);}return array;}}