Leetcode: Shuffle an Array

发布时间:2017-1-23 16:38:16 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Leetcode: Shuffle an Array ",主要涉及到Leetcode: 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();

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  */

上一篇:JAVA 时间差距,两个时间相差多少天,时,分,秒
下一篇:[转]Nodejs基础中间件Connect

相关文章

相关评论