最大差值

有一个长为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;
    }
};

点赞