Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 1.65 KB

0384-shuffle-an-array.adoc

File metadata and controls

60 lines (41 loc) · 1.65 KB

384. Shuffle an Array

{leetcode}/problems/shuffle-an-array/[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();

又学习了一个算法:Fisher-Yates Algorithm。

参考资料

  1. {leetcode}/problems/shuffle-an-array/solution/[Shuffle an Array solution - LeetCode^]

  2. Fisher–Yates shuffle - Wikipedia

  3. 神一样的随机算法

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();
link:{sourcedir}/_0384_ShuffleAnArray.java[role=include]