JavaScript版本

function randomArr(/*最大随机数*/max, /*随机数个数*/amount,/*最小随机数*/min) {

if (!min)

min = 0;

if (!amount)

amount = max - min;

var range=max-min;

if (min > max || amount > range) {

throw new Error("参数不正确。");

} else {

var arr = [],

result=[];

for (var i = 0; i < range; i++) {

arr[i] = i + min;//生成固定范围的顺序数

}

for (var j = 0; j < (2 * max) ; j++) {

var offset1 = Math.floor(Math.random() * 100);//生成固定范围的随机数组下标1

var offset2 = Math.floor(Math.random() * 100);//生成固定范围的随机数组下标2

offset1 = (offset1 > range - 1) ? offset1 - range - 1 : offset1;

offset2 = (offset2 > range - 2) ? offset2 - range - 2 : offset2;

//将上述两个随机生成的下标为索引交换两个元素,将整个数组乱序

var temp = arr[offset1];

arr[offset1] = arr[offset2];

arr[offset2] = temp;

}

//从后面删除多余数组

console.log(amount);

console.log(range);

if (amount != range) {

for (var m = 0; m

result[m]=arr[m]

}

}

return result;

}

}

PHP版本

/**

* @param 最大随机数 $max

* @param 随机数个数 $amount

* @param 最小随机数 $min

*/

function randomArr( $max , $amount = "" , $min = 0 ) {

$range = $max - $min;

if ($amount == null)

$amount = $range; // 设定$range默认值

if ($min >= $max || $amount > $range) {

echo "The arguments out of range!";

} else {

$arr = array ();

for ($i = 0; $i < $range; $i++) {

$arr[$i] = $i + $min; // 生成固定范围的顺序数

}

for ($j = 0; $j < (2 * $max); $j++) {

$offset1 = mt_rand(0 , $range - 1); // 生成固定范围的随机数组下标1

$offset2 = mt_rand(0 , $range - 1); // 生成固定范围的随机数组下标2

// 将上述两个随机生成的下标为索引交换两个元素,将整个数组乱序

$temp = $arr[$offset1];

$arr[$offset1] = $arr[$offset2];

$arr[$offset2] = $temp;

}

if ($range != $amount) {

// 从后面开始删除多余的数组

for ($m = 0; $m < $range - $amount; $m++) {

$sumKey = count($arr) - 1;

unset($arr[$sumKey]);

}

}

return $arr;

}

}

php随机不相同整数,生成固定范围不重复随机整数(JSPHP)相关推荐

  1. 2.5亿个整数中找出不重复的整数

    问题描述:在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数. 思路:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共 ...

  2. Leecode:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数

    题目 /** * 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. * 示例 ...

  3. html 随机字母,JS简单生成由字母数字组合随机字符串示例

    本文实例讲述了JS简单生成由字母数字组合随机字符串.分享给大家供大家参考,具体如下: 前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇 ...

  4. 在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数

    方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit=1 GB内存,还可以接受.然后扫描这2.5亿个整数 ...

  5. Java 生成固定长度随机中文字符串

    /*** * 生成固定长度随机中文,kuojung * @param n 中文个数 * @return 中文串 */ public static String getRandomChineseStri ...

  6. php 随机制定数,(php)生成指定个数的随机红包

    $total=20;//红包总金额 $num=10;// 分成10个红包,支持10人随机领取 $min=0.01;//每个人最少能收到0.01元 $redpack = new redpack($tot ...

  7. bitmap对海量无重复的整数排序--转

    原文地址:http://blog.csdn.net/u013074465/article/details/46956295 现在有n个无重复的正整数(n 小于10的7次方),如果内存限制在1.5M以内 ...

  8. R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串

    R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...

  9. java随机产生100个大小写字母_Java生成固定长度的随机字符串(以大小写字母和数字)...

    packageorg.jimmy.autosearch2019.test;importjava.util.ArrayList;importjava.util.Random;/***@authorラピス ...

最新文章

  1. 如何直观地理解「协方差矩阵」?
  2. sql按条件进行批量查询或update的关键字in
  3. 如何用redis实现分布式锁?这篇文章教你用redisson实现分布式锁,封装之后的方法更好用!
  4. 前端三种消息框alert,confirm,prompt
  5. DLL 的导入与导出
  6. C++11 并发指南九(综合运用: C++11 多线程下生产者消费者模型详解)
  7. IntelliJ IDEA上手这一篇就够了,从入门到上瘾
  8. 利用ping/ipconfig/nslookup/dig/whois简单工具测试DNS
  9. 斯坦福大学深度学习公开课cs231n学习笔记(1)softmax函数理解与应用
  10. 【速度↑20%模型尺寸↓36%】极简开源人脸检测算法升级
  11. caj打开文件错误验证服务器,CAJ 打开pdf文件错误(无法读取交叉引用表)的解决方法...
  12. 大学计算机基础案例教程章测试答案,大学计算机基础案例教程--Win7+Office2010(高等院校公共基础课规划教材)...
  13. Java经典全套面试汇总(二十万字)
  14. 数据分析实战(二) 基于美国人口adult数据集R语言分析实战
  15. 创意几何点线面三角形孟菲斯海报banneer广告设计ai矢量背景素材
  16. 网站pc端和手机端视频的处理
  17. Leetcode 1208. 尽可能使字符串相等(终于解决,晚安)
  18. win10打印机共享问题集,及解决方法持续更新
  19. 2022按键精灵内存逆向新教程:乐玩篇:1-10课更新试看
  20. Ubuntu 18下安装tensorflow(基于python3.6)

热门文章

  1. swoole 异步redis
  2. JS简单循环遍历json数组的方法
  3. DevExpress ChartControl大数据加载时有哪些性能优化方法
  4. [bbk4957]第69集 第8章 -性能维护 00
  5. Objective-C语法之Object对象的那些事儿(五)
  6. 人民日报:为人工智能注入更多安全基因
  7. 三种活体检测方式分析
  8. LimeSDR性能参数介绍及如何用它实现通信过程
  9. 高速电路EDA设计第一次实验
  10. html模板是干嘛的,html模板有什么用