比较多个数字之间的差异

时间:2011-11-17 10:10:30

标签: javascript math logic algebra

问题是我有5个数字的数组:

300 295 250 105 100 95

所需结果:阈值指定差异最小的数字最多。 如果您无法理解:在示例中,阈值为5且获胜的数字组为95,100,105 - 因为有3个数字彼此接近而另一组(295,300)仅为2。

我会尽快提出更明确的解释。

1 个答案:

答案 0 :(得分:2)

我无法提供Javascript代码,但我建议:

  • 对列表进行排序
  • 计算顺序差异
  • threshold以下的任何值舍入或剪辑为零,将所有其他值剪切为一个
  • 寻找最长的连续零序列(游程编码)
{95, 100, 105, 250, 295, 300}

--->  {5, 5, 145, 45, 5}

--->  {0, 0, 1, 1, 0}