 Leetcode: Shuffle an Array

`Shuffle a set of numbers without duplicates.Example:// Init an array with set 1, 2, and 3.int[] nums = {1,2,3};Solution solution = new Solution(nums);// Shuffle the array [1,2,3] and return its result. Any permutation of [1,2,3] must equally likely to be returned.solution.shuffle();// Resets the array back to its original configuration [1,2,3].solution.reset();// Returns the random shuffling of array [1,2,3].solution.shuffle();`

Random random = new Random();

random.nextInt(int i);

`1 public class Solution { 2     int[] arr; 3     Random random; 4      5  6     public Solution(int[] nums) { 7         arr = nums; 8         random = new Random(); 9     }10     11     /** Resets the array to its original configuration and return it. */12     public int[] reset() {13         return arr;14     }15     16     /** Returns a random shuffling of the array. */17     public int[] shuffle() {18         int[] copy = arr.clone();19         20         for (int i=arr.length-1; i>=0; i--) {21             int index = random.nextInt(i+1);22             int temp = copy[index];23             copy[index] = copy[i];24             copy[i] = temp;25         }26         return copy;27     }28 }29 30 /**31  * Your Solution object will be instantiated and called as such:32  * Solution obj = new Solution(nums);33  * int[] param_1 = obj.reset();34  * int[] param_2 = obj.shuffle();35  */`

#### 最新留言

[***.144.177.141]2023年09月12日 00时37分01秒