C语言实现:计算成绩数组相邻名次的最大差异(线性时间复杂度)
#include <stdio.h>
int fun(int D[], int N) { if (N < 2) { return 0; }
int max_diff = 0;
int max_score = D[0];
for (int i = 1; i < N; i++) {
if (D[i] > max_score) {
max_score = D[i];
} else {
int diff = max_score - D[i];
if (diff > max_diff) {
max_diff = diff;
}
}
}
return max_diff;
}
int main() { int N; scanf('%d', &N);
int D[N];
for (int i = 0; i < N; i++) {
scanf('%d', &D[i]);
}
int result = fun(D, N);
printf('%d
', result);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/huhY 著作权归作者所有。请勿转载和采集!