Algorithm 建议一种算法/方法来找到合适的值

Algorithm 建议一种算法/方法来找到合适的值,algorithm,Algorithm,我有一组值,例如:[1,2,14,511001031071103005051034]。 我有一个模式值,例如[1,10,201005001000]。 我需要从模式中获得最佳的“合适”值。在我的例子中是100。如何检测此值 生活中的榜样。该应用程序在用户位置和某些对象之间有一系列距离。该应用程序还有一个预设的距离过滤器:[1米,10米,20米,100米]。我注意到,在默认情况下,不仅要将过滤器设置为第一个值(在我的示例中为1米),还要设置为以最佳方式匹配一组距离的值(在我的示例中为100米)。我需

我有一组值,例如:[1,2,14,511001031071103005051034]。 我有一个模式值,例如[1,10,201005001000]。 我需要从模式中获得最佳的“合适”值。在我的例子中是100。如何检测此值

生活中的榜样。该应用程序在用户位置和某些对象之间有一系列距离。该应用程序还有一个预设的距离过滤器:[1米,10米,20米,100米]。我注意到,在默认情况下,不仅要将过滤器设置为第一个值(在我的示例中为1米),还要设置为以最佳方式匹配一组距离的值(在我的示例中为100米)。我需要检测一个值


谢谢你的帮助和任何想法

我想说创建这样的函数(这不是真正的代码):

var比率1=0.66
var比率2=1.5
函数得分(currentPatternValue、ArrayOfValue)
{
计数=0
对于arrayOfValues中的每个值
如果值>比率1*currentPatternValue和值<比率2*currentPatternValue
计数+++
返回计数 }

然后对模式值中的每个值运行此函数,并选择从该函数返回的得分最高的值

如何将每个值分配给最接近的模式值,然后返回分配了最多值的模式值?
            var ratio1 = 0.66
            var ratio2 = 1.5
            function Score(currentPatternValue, arrayOfValues)
            {
            count = 0
            for each value in arrayOfValues <br>
              if value > ratio1 * currentPatternValue AND value < ratio2 * currentPatternValue<br>
                count++<br>

            return count
            }