• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

跪求一 选择 算法。

php 搞代码 4年前 (2022-01-23) 14次浏览 已收录 0个评论
文章目录[隐藏]

现在有1个二维数组 包含50个一维数组

每个数组内 有 (质量度系数 0 – 9) 这个元素

如何在选择50个数组之一的同时 保证利用质量度来决定选取该数组的频率

要求:

50个数组 均有选中的机会

回复讨论(解决方案)

我理解你是这个意思

$ar = array(1,1,2,3,2,5,6,8,3,5,9,2,3,1,4,5);$t = array();foreach($ar as $k=>$v) $t = array_merge($t, array_fill(0, $v, $k));//$t 中保存的是 $ar 的下标srand(20); //固定的种子可使结果重复$res = array_fill(0, count($ar), 0);for($i=0; $i<10000; $i++) {  shuffle($t); //随机打乱  $res[$t[0]]++;}print_r($res);

10000 次中 $ar 各元素被选中的次数
Array
(
[0] => 173
[1] => 168
[2] => 294
[3] => 480
[4] => 364
[5] => 892
[6] => 989
[7]来4源gaodaimacom搞#代%码*网搞代gaodaima码 => 1385
[8] => 475
[9] => 843
[10] => 1504
[11] => 300
[12] => 476
[13] => 194
[14] => 664
[15] => 799
)

于是变成了 质量度有多高 就让他重复多少次 最后随机选取时出现的几率就大了这一个朴素的事实? 没有公式 ,也不用神马公式

就这思路吧 给分了


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:跪求一 选择 算法。

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址