nic*_*ckf 4 php algorithm statistics
我的语言是PHP,但算法应该相当普遍.
我有一个(比方说)评级的关联数组和给出评级的次数.
$ratings = array(
1 => 1,
2 => 3,
3 => 6,
4 => 3,
5 => 3
);
Run Code Online (Sandbox Code Playgroud)
这相当于:[1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5]
,但考虑到我正在使用的数字,从第一种形式转换为第二种形式是非常低效的.
计算上述数字平均值的算法是什么?
Ray*_*yat 17
试试这个:
$total = 0;
$count = 0;
foreach($ratings as $number=>$frequency) {
$total += $number * $frequency;
$count += $frequency;
}
return $total / $count;
Run Code Online (Sandbox Code Playgroud)
Sas*_*sha 10
这不行吗?
$total = 0;
$sum = 0;
foreach ($ratings as $k => $v) {
$total += $k * $v;
$sum += $v;
}
echo $total / $sum;
Run Code Online (Sandbox Code Playgroud)
编辑:嗯,我看起来很傻,因为有人打败了我.那好吧.
归档时间: |
|
查看次数: |
5762 次 |
最近记录: |