如何改进算法来检查数组中是否有一个元素等于数组中任何其他两个元素之间的差异?

imr*_*pta 1 arrays sorting algorithm loops time-complexity

我知道这显然是一个简单的问题.但我无法获得更好的方法来提高效率.这就是我正在尝试的.这很幼稚,但我仍然无法正确理解.

  1. 对数组进行排序.(分而治之)

  2. a)一次选择一个元素b)遍历数组的所有剩余元素(成对)以获得它们之间的差异以匹配所选元素.

  3. 重复步骤2,直到找到至少所有元素.
  4. 存储符合条件的所有元素.
  5. 打印存储的元素.

MBo*_*MBo 5

条件A[i] - A[j] = A[k]等于A[i] = A[j] + A[k],所以我们可以寻找总和.

对数组进行排序.

对于每个元素搜索,如果它是使用两个指针方法的另外两个的总和(当sum太小时递增较低索引,当sum太大时递减上部索引)

产生的复杂性是二次的