Chybeta

CodeTrain(1)最大差值

题目

有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。给定数组A及它的大小n,请返回最大差值。

测试样例:[10,5],2
返回:0

法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class LongestDistance {
public:
int getDis(vector<int> A, int n) {
int min = A[0];
int dis = 0;
int i,j;
for (i = 0; i < n ; i++)
for (j = i+1 ; j < n ; j++){
if (A[j] - A[i] > dis)
dis = A[j] - A[i];
}
return dis;
}
};

法二

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class LongestDistance {
public:
int getDis(vector<int> A, int n) {
int min = A[0];
int dis = 0;
int i;
for (i = 0; i < n ; i++){
if (A[i] < min) min = A[i];
if ((A[i] - min) > dis) dis = A[i]-min;
}
return dis;
}
};
微信扫码加入知识星球【漏洞百出】
chybeta WeChat Pay

点击图片放大,扫码知识星球【漏洞百出】