You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

可变长度多数组数值的得分与排名计算方案咨询

计算逻辑实现方案

核心处理逻辑

要解决数组项数不统一的问题,同时匹配「数值越高得分越高、得分区间0-10」的规则,按两步处理:

  • 先统一映射所有数值到0-10的得分区间:拉取所有数组的全部数值,取最大值、最小值做归一化转换,数值越高转换后的得分越高
  • 再按数组维度聚合得分,消除长度差异影响,两种可选聚合方式:
    1. 中位数聚合:取数组内所有数值转换后得分的中位数,不受极端值、数组长度影响,适合数据波动大的场景
    2. 平均值聚合:取数组内所有数值转换后得分的平均值,能兼顾所有数据的贡献,适合数据分布均匀的场景

完整PHP实现代码

<?php
// 示例输入数据
$data1 = "4.12,9.95,2.44,3.80,10.68,-1.15,11.81";
$data2 = "12.61";
$data3 = "4.55,9.70,6.44,-1.04,12.55";

// 1. 预处理所有数据,收集全量数值找极值用于归一化
$allValues = [];
$dataset = [
    'arr1' => array_map('floatval', explode(',', $data1)),
    'arr2' => array_map('floatval', explode(',', $data2)),
    'arr3' => array_map('floatval', explode(',', $data3))
];
foreach ($dataset as $arr) {
    $allValues = array_merge($allValues, $arr);
}
$minVal = min($allValues);
$maxVal = max($allValues);

// 2. 归一化数值到0-10得分的函数
function getScore($val, $minVal, $maxVal) {
    // 避免最大值最小值相等导致除以0
    if ($maxVal == $minVal) return 10;
    // 线性转换,数值越高得分越高,区间0-10
    return round(($val - $minVal) / ($maxVal - $minVal) * 10, 2);
}

// 3. 计算每个数组的聚合得分(此处用中位数方案,可替换为平均值)
function calculateArrScore($arr, $minVal, $maxVal) {
    // 先算每个元素的得分
    $scores = array_map(function($val) use ($minVal, $maxVal) {
        return getScore($val, $minVal, $maxVal);
    }, $arr);
    // 取中位数逻辑
    sort($scores);
    $count = count($scores);
    $mid = floor(($count - 1) / 2);
    if ($count % 2) {
        return $scores[$mid];
    } else {
        return round(($scores[$mid] + $scores[$mid + 1]) / 2, 2);
    }
    // 如果要用平均值方案,注释上面中位数逻辑,打开下一行即可
    // return round(array_sum($scores)/count($scores),2);
}

// 4. 计算所有数组得分并排名
$rankResult = [];
foreach ($dataset as $key => $arr) {
    $rankResult[$key] = calculateArrScore($arr, $minVal, $maxVal);
}
// 按得分降序排序,保留键名
arsort($rankResult);

// 输出结果
print_r($rankResult);
?>

示例输出说明

用给出的测试数据运行中位数方案的输出结果如下,符合预期:

Array
(
    [arr2] => 10
    [arr3] => 5.23
    [arr1] => 3.35
)

只有单个高值的arr2得分最高排名第一,arr3次之,arr1最低。

内容的提问来源于stack exchange,提问作者user11249486

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:57:03