有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。
给定数组A及它的大小n,请返回最大差值。
测试样例:
[10,5],2
返回:0思路:贪心算法,求出数组中最小值,用数组中所有数减最小值,知道找到最大差值
class LongestDistance {
public:
int getDis(vector<int> A, int n) {
if(A.size() <= 1)
return 0;
int min = A[0]; //初始化最小值
int max = A[0] - A[0]; //初始化最大差值
for(int i = 1; i < A.size(); i++){
if(min > A[i]) //如果最小值小于当前数组元素
min = A[i]; //将数组元素赋值给最小值
if(A[i] - min > max) //求最大差值
max = A[i] - min;
}
return max;
}
};