zoukankan      html  css  js  c++  java
  • 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  */
  • 相关阅读:
    php记录代码执行时间
    TortoiseSVN教程级别指南
    有些 where 条件会导致索引无效
    mysql优化
    SQL优化方法
    mysql服务性能优化 my.cnf my.ini配置说明详解(16G内存)
    mysql慢查询设置
    javascript和php使用ajax通信传递JSON
    PHP导出大量数据到excel表格
    核心支付业务
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/6112675.html
Copyright © 2011-2022 走看看