使用单循环的数组中两个元素之间的最大差异

时间:2017-11-23 14:03:00

标签: c arrays

如何使用单循环和单次迭代找到数组中两个数字之间的最大差异?

Ex:考虑一个数组A[20]={10,3,6,8,9,4,3}如何使用单循环和单次迭代找到数组中两个数字之间的最大差异?

1 个答案:

答案 0 :(得分:4)

要在单个循环中解决此问题,请考虑产生最大差异A的数字BA-B如何影响差异:

  • 当您选择较大的A
  • 时,差异会更大
  • 选择较小的B
  • 时差异会更大

一旦你做出这个观察,你就会发现你正在寻找最大的A和最小的B以获得最大的差异。这可以在O(n)时间和O(1)空间中的单个循环中完成。