标签: c arrays
如何使用单循环和单次迭代找到数组中两个数字之间的最大差异?
Ex:考虑一个数组A[20]={10,3,6,8,9,4,3}如何使用单循环和单次迭代找到数组中两个数字之间的最大差异?
A[20]={10,3,6,8,9,4,3}
答案 0 :(得分:4)
要在单个循环中解决此问题,请考虑产生最大差异A的数字B和A-B如何影响差异:
A
B
A-B
一旦你做出这个观察,你就会发现你正在寻找最大的A和最小的B以获得最大的差异。这可以在O(n)时间和O(1)空间中的单个循环中完成。