LeetCode384. Shuffle an Array
来源:互联网 发布:韩国bj 知乎 编辑:程序博客网 时间:2024/06/05 09:05
题目要求:
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();
使用经典的洗牌算法,同时注意java中的random.nextint()中范围的问题
public class Solution { private int[] numsRef; private int[] nums; public Solution(int[] nums) { numsRef = Arrays.copyOf(nums, nums.length); this.nums = nums; } /** Resets the array to its original configuration and return it. */ public int[] reset() { return numsRef; } /** Returns a random shuffling of the array. */ public int[] shuffle() { //使用经典的洗牌算法处理 if(nums == null) return null; int length = nums.length; for(int i = length - 1; i >= 0; i--) { Random ranx = new Random(); int index = ranx.nextInt(i + 1); int temple = nums[i]; nums[i] = nums[index]; nums[index] = temple; } return nums; }}/** * 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
- LeetCode384. Shuffle an Array
- Shuffle an Array
- 【Leetcode】Shuffle an Array
- Shuffle an Array
- 384. Shuffle an Array
- 384. Shuffle an Array
- 149.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
- hdu1874 Dijkstra学习
- java类转JSON数据注意
- js 中的关键字罗列
- Spark2.0源码之1_Broadcast
- JS弹出对话框
- LeetCode384. Shuffle an Array
- QT 选中QListView 指定行
- Laravel5.2+Dingo/API+JWTauth的想着问题
- iOS 开发笔记 - 开发中如何实现自动检测更新APP
- Linux Shell 通配符、元字符、转义符使用实例介绍
- TDS 以及 FDS 光谱系统的成像光束
- Access键盘快捷键大全(八)
- wxWidgets 跨平台 GUI 编程
- 什么是常量池