• 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  */
  • 相关阅读:
    如何解决加载动态链接库DLL失败,返回0,GetLastError返回错误码126
    如何实现点击激活窗体同时窗体不跑到最前覆盖其他窗体
    数据库04
    数据库03
    数据库02
    数据库01
    Linux02
    Linux01
    软件质量
    HTML04
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/6112675.html
Copyright © 2020-2023  润新知