如何在多个数字中寻找两个数字之间的特定差异

时间:2019-06-26 20:49:15

标签: difference

我正在尝试在多个数字列表中识别两个数字之间的特定差异。例如,如果我有一个列表1、3、23、66、45、73,则我希望差20。

1 个答案:

答案 0 :(得分:0)

这是一种算法,用于查找所有差异为D的对。

让N为数字列表,其中N [i]是i = 1到M的列表中的第i个数字。

  1. 按升序排列N。
  2. 跟踪N上的两个索引i和j。
  3. 设置i = 1,j = 1。
  4. 对于每个i,递增j直到N [i] + D = N [j]或j最大,而N [i] + D不大于N [j]。如果N [i] + D = N [j],则找到一对(N [i] N [j])。继续下一个。