384. Shuffle an Array
来源:互联网 发布:html的js加减怎么做 编辑:程序博客网 时间:2024/06/07 07:07
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();这道题需要用到洗牌算法。代码如下:
import java.util.Random;public class Solution { private int[] nums; private Random random; public Solution(int[] nums) { this.nums = nums; random = new Random(); } /** Resets the array to its original configuration and return it. */ public int[] reset() { return nums; } /** Returns a random shuffling of the array. */ public int[] shuffle() { if (nums == null) { return null; } int[] a = nums.clone(); for (int i = 1; i < a.length; i ++) { int j = random.nextInt(i + 1); int temp = a[i]; a[i] = a[j]; a[j] = temp; } return a; }}/** * Your Solution object will be instantiated and called as such: * Solution obj = new Solution(nums); * int[] param_1 = obj.reset(); * int[] param_2 = obj.shuffle(); */
阅读全文
0 0
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array**
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- [leetcode] 384. Shuffle an Array
- 【leetcode】384. Shuffle an Array
- 384.[LeetCode]Shuffle an Array
- [LeetCode]384. Shuffle an Array
- 读阿里Java开发手册后的一些整理
- Django架站1:设置环境
- 顺序表有关操作的练习
- 算法 3步骤
- OpenSSL源代码分析
- 384. Shuffle an Array
- 判断字符串中有无重复字符,不使用额外的数据结构
- linux进程管理原理
- linux操作系统学习心得
- Python中的metaclass
- Python里的String
- LinkedList 和 Array
- CPA会员充值PC加wap内置资源版源码
- 八大排序算法总结(超详细)