php随机不相同整数,生成固定范围不重复随机整数(JSPHP)
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)相关推荐
- 2.5亿个整数中找出不重复的整数
问题描述:在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数. 思路:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共 ...
- Leecode:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数
题目 /** * 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数.假设只有一个重复的整数,找出这个重复的数. * 示例 ...
- html 随机字母,JS简单生成由字母数字组合随机字符串示例
本文实例讲述了JS简单生成由字母数字组合随机字符串.分享给大家供大家参考,具体如下: 前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇 ...
- 在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数
方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32 * 2 bit=1 GB内存,还可以接受.然后扫描这2.5亿个整数 ...
- Java 生成固定长度随机中文字符串
/*** * 生成固定长度随机中文,kuojung * @param n 中文个数 * @return 中文串 */ public static String getRandomChineseStri ...
- php 随机制定数,(php)生成指定个数的随机红包
$total=20;//红包总金额 $num=10;// 分成10个红包,支持10人随机领取 $min=0.01;//每个人最少能收到0.01元 $redpack = new redpack($tot ...
- bitmap对海量无重复的整数排序--转
原文地址:http://blog.csdn.net/u013074465/article/details/46956295 现在有n个无重复的正整数(n 小于10的7次方),如果内存限制在1.5M以内 ...
- R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串
R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...
- java随机产生100个大小写字母_Java生成固定长度的随机字符串(以大小写字母和数字)...
packageorg.jimmy.autosearch2019.test;importjava.util.ArrayList;importjava.util.Random;/***@authorラピス ...
最新文章
- 如何直观地理解「协方差矩阵」?
- sql按条件进行批量查询或update的关键字in
- 如何用redis实现分布式锁?这篇文章教你用redisson实现分布式锁,封装之后的方法更好用!
- 前端三种消息框alert,confirm,prompt
- DLL 的导入与导出
- C++11 并发指南九(综合运用: C++11 多线程下生产者消费者模型详解)
- IntelliJ IDEA上手这一篇就够了,从入门到上瘾
- 利用ping/ipconfig/nslookup/dig/whois简单工具测试DNS
- 斯坦福大学深度学习公开课cs231n学习笔记(1)softmax函数理解与应用
- 【速度↑20%模型尺寸↓36%】极简开源人脸检测算法升级
- caj打开文件错误验证服务器,CAJ 打开pdf文件错误(无法读取交叉引用表)的解决方法...
- 大学计算机基础案例教程章测试答案,大学计算机基础案例教程--Win7+Office2010(高等院校公共基础课规划教材)...
- Java经典全套面试汇总(二十万字)
- 数据分析实战(二) 基于美国人口adult数据集R语言分析实战
- 创意几何点线面三角形孟菲斯海报banneer广告设计ai矢量背景素材
- 网站pc端和手机端视频的处理
- Leetcode 1208. 尽可能使字符串相等(终于解决,晚安)
- win10打印机共享问题集,及解决方法持续更新
- 2022按键精灵内存逆向新教程:乐玩篇:1-10课更新试看
- Ubuntu 18下安装tensorflow(基于python3.6)