0

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

300 295 250 105 100 95

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

我会尽快提出更清晰的解释。

4

1 回答 1

2

我不能提供 Javascript 代码,但我建议:

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

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

--->  {0, 0, 1, 1, 0}
于 2011-11-17T11:05:07.763 回答