找到比其他人更有差异的数字

时间:2012-11-29 08:08:41

标签: algorithm graph numbers

我有一个队列包含不同计数的消息&我有脚本来读取队列并处理消息。我的问题是:一些队列的消息数量非常大,而且它超过平时。因此,为了改进处理,我想要处理所有具有更多计数的队列。如果队列具有线性差异(例如:1000,1200,1300,1800,1900),我想处理完整队列。如果假设计数类似(1000,1200,1300,1800,1900,4000,4500,4900,5200) - 这里4000+是非常大的队列所以我想只采取这些队列。

我希望一些数学计算标准偏差等会有所帮助,但我不知道如何处理它。

2 个答案:

答案 0 :(得分:0)

我会这样开始:

  • 取第一个数字(在本例中为1000)并将数组中的每个数字除以此数字,并根据每个数字保存该部分。
  • 将您定义的基数记录为每个分数的“差异很大”(例如5或10),并根据每个数字保存它们。
  • 将所有数字放在分数日志介于-1和1之间的组中,并从所有数字的数组中删除这些数字。
  • 重新开始使用重新编号并继续,直到您只有1(您将放入新组)或没有数字。

答案 1 :(得分:0)

  1. 从排序开始。
  2. 收集邻居元素之间差异的统计数据。
  3. 选择几个“大”跳跃
  4. “大”的定义可能不同。如果您知道他们的号码(例如,只有两个组),只需选择适当数量的最大跳跃(比组数少1)。或者,你可以采取一些百分比的大跳跃或分析平均值和变化来选择一些阈值。