题目来自伯乐在线,欢迎有不同答案的同学来一起讨论。
分析:
基本方法是遍历数组,找到当前值前面所有数组元素的最小值。
方法:
int get_max_distance(int *a, const int n) {
int max_distance = 0; // 纪录最大距离
if (n == 0) return max_distance;
int min = a[0];// 纪录最小的值
for (int i = 1; i < n; i++) {
if (a[i] - min > max_distance)
max_distance = a[i] - min;
if (min > a[i])
min = a[i];
}
return max_distance;
}