美文网首页
随机打印数组中m个数

随机打印数组中m个数

作者: 小虫虫奇遇记 | 来源:发表于2020-09-21 23:07 被阅读0次

原理:取出第1个数之后,将该数交换到数组最后一个位置n-1,下次取数范围在(0,n-2)之间,依次...,保证被取出的数不会再被访问就可。

Math.random()返回0到1之间的随机数。

 fun randomM(arr: IntArray, m: Int) {
        if (arr == null || arr.size == 0) {
            return
        }
        val m = Math.min(arr.size, m)
        var num = 0
        while (num < m) {
            var index = (Math.random() * (arr.size - 1 - num)).toInt()
            Log.d("randomM", " " + arr[index])
            var tmp = arr[index]
            arr[index] = arr[arr.size - 1 - num]
            arr[arr.size - 1 - num] = tmp
            num++
        }
    }

相关文章

  • 随机打印数组中m个数

    原理:取出第1个数之后,将该数交换到数组最后一个位置n-1,下次取数范围在(0,n-2)之间,依次...,保证被取...

  • 02. 彩票随机号码

    在[1,m]个数字区间生成彩票的n个不同随机号码。如果常规思考,生成数字存到数组中,再随机生成数字与数组中的比较。...

  • Java 小知识点

    1、打印数组 2、数组copy在Java中,允许将一个数组变量拷贝给另一个数组变量,这时这两个数组将引用同一个数组...

  • flutter 数组 工具

    flutter中对比两个数组相同 16进制打印数组 从a数组中查询b数组是否存在及存在的位置

  • 排序:创建工具类

    需求 生成随机数组 进行数组中的交换 打印数组 测试运行时间 判断数组是否有序 示例

  • 【精致Java教程】24:小练习4

    做一个数组的小练习:创建一个长度为10的整形数组,然后为每个元素赋值一个1到10的随机数,并打印出来。再倒着打印出...

  • js随机返回数组的一个元素/N个不重复的数据

    随机取得数组里面的某一个: 扩展:做标题性质文字的随机轮换显示: 扩展:随机排序整个数组Array: 随机取出数组...

  • 快速排序

    经典快排:取数组中最后一个位置的数,小于等于这个数的放左区域,大于这个数的放右区域。改进的随机快排:随机从数组中取...

  • 使用JS实现数组的随机排序

    思想:1.洗牌:从第一个数开始到最后一个数,依次和数组中的随机位置互换2.将数组转为对象,对象随机排序,对象转换为...

  • perl 随机获取数组中的元素

    对于一个数组,随机获取其中一个或多个元素。 利用List::Util 模块中的shuffle,这将对数组进行随机排...

网友评论

      本文标题:随机打印数组中m个数

      本文链接:https://www.haomeiwen.com/subject/wrtiyktx.html