Leetcode: Shuffle an Array
发布日期:2022-03-11 15:03:31 浏览次数:14 分类:技术文章

本文共 1429 字,大约阅读时间需要 4 分钟。

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

 

转载于:https://www.cnblogs.com/EdwardLiu/p/6112675.html

转载地址:https://blog.csdn.net/weixin_30267785/article/details/99127753 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:夏令营提高班上午上机测试 Day 2 解题报告
下一篇:ckediter一些小的问题解决办法

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年07月15日 19时09分38秒