精华内容
下载资源
问答
  • 打乱数组

    2021-03-02 14:33:10
    打乱数组 给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] ...

    打乱数组

    给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。

    实现 Solution class:

    • Solution(int[] nums) 使用整数数组 nums 初始化对象
    • int[] reset() 重设数组到它的初始状态并返回
    • int[] shuffle() 返回数组随机打乱后的结果

    示例:

    输入 [“Solution”, “shuffle”, “reset”, “shuffle”] [[[1, 2, 3]], [], [],[]]
    输出 [null, [3, 1, 2], [1, 2, 3], [1, 3, 2]]
    解释 Solution solution = new Solution([1, 2, 3]);
    solution.shuffle(); // 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概率应该相同。例如,返回 [3, 1, 2]
    solution.reset(); // 重设数组到它的初始状态 [1, 2, 3] 。返回 [1, 2, 3]
    solution.shuffle(); // 随机返回数组 [1, 2, 3] 打乱后的结果。例如,返回 [1, 3, 2]

    提示:

    • 1 <= nums.length <= 200
    • -106 <= nums[i] <= 106
    • nums 中的所有元素都是 唯一的
    • 最多可以调用 5 * 104 次 reset 和 shuffle

    解法

    • public int nextInt(int n):给定一个参数n,返回一个大于等于0小于n的随机数。
    • Array.clone(数组):数组克隆
    class Solution {
    
        private int[] origin;
        private int[] array;
        
        Random rand=new Random();
        public Solution(int[] nums) {
            this.array=nums;
            this.origin=array.clone();
        }
    
        /** Resets the array to its original configuration and return it. */
        public int[] reset() {
            return origin;
        }
    
        /** Returns a random shuffling of the array. */
        public int[] shuffle() {
            int n=origin.length;
    
            for (int i=0;i<n;i++){
                int x=randRange(i,n);
                swap(i,x);
            }
            return array;
    
        }
        private int randRange(int min, int max) {
            return rand.nextInt(max - min) + min;
        }
    
        private void swap(int i, int i1) {
            int temp=array[i];
            array[i]=array[i1];
            array[i1]=temp;
        }
    }
    
    /**
     * 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();
     */
    
    展开全文
  • 关于java打乱数组顺序的方法是不是很多人都非常好奇呢?今天爱站小编就将为大家详细介绍JAVA随机打乱数组顺序的方法,还不了解JAVA怎么随机打乱数组顺序的小伙伴们一起来参考吧。import java.util.Random;public ...

    关于java打乱数组顺序的方法是不是很多人都非常好奇呢?今天爱站小编就将为大家详细介绍JAVA随机打乱数组顺序的方法,还不了解JAVA怎么随机打乱数组顺序的小伙伴们一起来参考吧。

    import java.util.Random;

    public class RandomSort {

    private Random random = new Random();

    //数组大小

    private static final int SIZE = 10;

    //要重排序的数组

    private int[] positions = new int[SIZE];

    public RandomSort() {

    for(int index=0; index

    //初始化数组,以下标为元素值

    positions[index] = index;

    }

    //顺序打印出数组的值

    printPositions();

    }

    //重排序

    public void changePosition() {

    for(int index=SIZE-1; index>=0; index--) {

    //从0到index处之间随机取一个值,跟index处的元素交换

    exchange(random.nextInt(index+1), index);

    }

    printPositions();

    }

    //交换位置

    private void exchange(int p1, int p2) {

    int temp = positions[p1];

    positions[p1] = positions[p2];

    positions[p2] = temp;  //更好位置

    }

    //打印数组的值

    private void printPositions() {

    for(int index=0; index

    System.out.print(positions[index]+" ");

    }

    System.out.println();

    }

    public static void main(String[] args) {

    RandomSort rs = new RandomSort();

    rs.changePosition();

    rs.changePosition();

    rs.changePosition();

    }

    }

    以上就是小编为大家介绍JAVA怎么随机打乱数组顺序的内容,里面包含了随机数的应用及数组的排序等操作,是Java操作数组的典型应用。

    展开全文
  • php打乱数组二维数组多维数组的简单实例,打乱二维数组php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了上面这个是针对二维数组的!下面针对多维数组的乱序方法?尽可能的方便...

    php打乱数组二维数组多维数组的简单实例,打乱二维数组

    php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册上提供了

    上面这个是针对二维数组的!

    下面针对多维数组的乱序方法?尽可能的方便快速:

    以下函数也是出自php手册,可以打乱多维数组:

    /**

    * Shuffles an associative array recursive

    *

    * @param array $array

    * @return array

    *

    */

    function rec_assoc_shuffle($array)

    {

    $ary_keys = array_keys($array);

    $ary_values = array_values($array);

    shuffle($ary_values);

    foreach($ary_keys as $key => $value) {

    if (is_array($ary_values[$key]) AND $ary_values[$key] != NULL) {

    $ary_values[$key] = rec_assoc_shuffle($ary_values[$key]);

    }

    $new[$value] = $ary_values[$key];

    }

    return $new;

    }

    以上就是小编为大家带来的php打乱数组二维数组多维数组的简单实例全部内容了,希望大家多多支持帮客之家~

    http://www.bkjia.com/PHPjc/1136627.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1136627.htmlTechArticlephp打乱数组二维数组多维数组的简单实例,打乱二维数组 php中的shuffle函数只能打乱一维数组,有什么办法快速便捷的打乱多维数组?手册...

    展开全文
  • 本文实例讲述了JAVA随机打乱数组顺序的方法。分享给大家供大家参考。具体实现方法如下:import java.util.Random;public class RandomSort {private Random random = new Random();//数组大小private static final ...

    本文实例讲述了JAVA随机打乱数组顺序的方法。分享给大家供大家参考。具体实现方法如下:

    import java.util.Random;

    public class RandomSort {

    private Random random = new Random();

    //数组大小

    private static final int SIZE = 10;

    //要重排序的数组

    private int[] positions = new int[SIZE];

    public RandomSort() {

    for(int index=0; index

    //初始化数组,以下标为元素值

    positions[index] = index;

    }

    //顺序打印出数组的值

    printPositions();

    }

    //重排序

    public void changePosition() {

    for(int index=SIZE-1; index>=0; index--) {

    //从0到index处之间随机取一个值,跟index处的元素交换

    exchange(random.nextInt(index+1), index);

    }

    printPositions();

    }

    //交换位置

    private void exchange(int p1, int p2) {

    int temp = positions[p1];

    positions[p1] = positions[p2];

    positions[p2] = temp;  //更好位置

    }

    //打印数组的值

    private void printPositions() {

    for(int index=0; index

    System.out.print(positions[index]+" ");

    }

    System.out.println();

    }

    public static void main(String[] args) {

    RandomSort rs = new RandomSort();

    rs.changePosition();

    rs.changePosition();

    rs.changePosition();

    }

    }

    展开全文
  • 本文实例讲述了JAVA随机打乱数组顺序的方法。分享给大家供大家参考。具体实现方法如下:复制代码 代码如下:import java.util.Random;public class RandomSort {private Random random = new Random();//数组大小...
  • 易语言随机打乱数组源码,随机打乱数组
  • 本文实例讲述了JS生成随机打乱数组的方法。分享给大家供大家参考,具体如下:一、比较乱的排序方法function fnLuanXu(num) {var aLuanXu=[];for (var i = 0; i < num; i++) {aLuanXu[i] = i;}for (var i = 0; i &...
  • PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛。请刷新页面查看随机排序效果。代码如下:...
  • 易语言源码易语言随机打乱数组源码.rar 易语言源码易语言随机打乱数组源码.rar 易语言源码易语言随机打乱数组源码.rar 易语言源码易语言随机打乱数组源码.rar 易语言源码易语言随机打乱数组源码.rar 易语言源码...
  • 下面小编就为大家带来一篇php打乱数组二维数组多维数组的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • java打乱数组

    2021-01-27 11:39:19
    java打乱数组 在其他博客上看过一个写打乱数组的,写了三个思路,前两个是来硬的,第三个说借用C写法,其实大可不必借用,写JAVA有思路就好,这里用比较的方法(那个方法不能算真正的打乱数组),遵循大道至简,这是...
  • 打乱 数字_打乱数组

    2020-12-21 09:11:26
    JavaScript实现LeetCode第384题:打乱数组题目描述打乱一个没有重复元素的数组。示例://以数字集合 1, 2 和 3 初始化数组。int[]nums={1,2,3};Solutionsolution=newSolution(nums);//打乱数组[1,2,3]并返回结果。...
  • //复制数组 copyArray(arr) { return JSON.parse( JSON.stringify( arr )... //打乱数组 UpsetArray(arr) { var newArr =this.copyArray(arr) var randomNumber = function(){ return 0.5 - Math.random() ...
  • 功能:对数组中的元素进行随机乱序。 import java.util.*;public class Array1{public static void main(String[] args) {int[] arr = new int[10];for(int i=0;iarr[i] = (int)(Math.random()*100);...
  • 使用javascript过程中,偶尔会用到数值,而且是打乱后的数值,本文将介绍一种高效打乱数组的方法,需要的朋友可以参考下
  • 打乱数组Scala实现

    2020-10-23 19:08:35
    用Scala的语法实现打乱数组 一、打乱数组是什么? 打乱一个没有重复元素的数组。 示例: // 以数字集合 1, 2 和 3 初始化数组。 int[] nums = {1,2,3}; Solution solution = new Solution(nums); // 打乱数组 ...
  • Java实现 LeetCode 384 打乱数组

    万次阅读 多人点赞 2020-03-11 22:42:24
    384. 打乱数组 打乱一个没有重复元素的数组。 示例: // 以数字集合 1, 2 和 3 初始化数组。 int[] nums = {1,2,3}; Solution solution = new Solution(nums); // 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,339
精华内容 935
关键字:

打乱数组