【发布时间】:2019-07-09 08:03:19
【问题描述】:
我编写了一个代码,该代码从该范围内生成 3 个随机唯一数字。它似乎工作,但我想知道它是否正常工作,我的代码是否适合更大的范围。例如,如果我想从 1 到 10^6 范围内生成 300 个而不是 3 个随机唯一数字。我的代码在内存使用和执行时间方面的表现如何?
代码正在运行,但我不确定。只是想确定一下,我没有遗漏什么。
<?php
$array=range(1,100);
$rand = array_rand($array,3);
echo "Random number 1: ".$array[$rand[0]]."\n";
echo "Random number 2: ".$array[$rand[1]]."\n";
echo "Random number 3: ".$array[$rand[2]]."\n";
?>
因此,我想要性能良好的工作代码。
【问题讨论】:
-
我认为这个问题更适合codereview.stackexchange.com
-
我建议尝试一下并查看结果。
-
绝对不适合 10^6 的范围,因为您必须创建一个巨大的数组,这充其量会浪费内存,或者在最坏的情况下扩展超出其限制
-
@ÐℛẲḰỮℒѦ 引用的问题中的second rated answer 很好地回答了您关于性能的问题(对于更高的范围,它更好)
-
感谢您的回答! ÐℛẲḰỮℒѦ的回答适合我。