public class Solution {
private int[] nums;
private Random r;
public Solution(int[] nums) {
this.nums=nums;
r=new Random();
}
/** Resets the array to its original configuration and return it. */
public int[] reset() {
return this.nums;
}
/** Returns a random shuffling of the array. */
public int[] shuffle() {
if(nums==null)
return nums;
int[] a=nums.clone();
for(int i=0;i<a.length;i++)
{
int j=r.nextInt(i+1);
swap(a,j,i);
}
return a;
}
private void swap(int[] nums,int i1,int i2)
{
int temp=nums[i1];
nums[i1]=nums[i2];
nums[i2]=temp;
}
}
384. Shuffle an Array
最新推荐文章于 2017-03-11 22:57:28 发布