题目链接

题目描述
有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。

给定数组A及它的大小n,请返回最大差值。

class LongestDistance {
public:
    int getDis(vector<int> A, int n) {
        // write code here
        vector<int> B(n);
        int maxn = -1<<30;
        int pos=n-1;
        B[pos]=A[pos];
        maxn=A[pos];
        for(int i=pos-1;i>=0;--i)
        {
            if(A[i+1]>maxn)
            {
                B[i]=A[i+1];
                maxn = A[i+1];
            }
            else 
            {
                B[i]=maxn;
            }
        }
        int ans=0;
        for(int i=0;i<pos;++i)
        {
            if(B[i]-A[i]>ans)
            {
                ans=B[i]-A[i];
            }
        }
        return ans;
    }
};
Last modification:October 31st, 2019 at 08:23 pm
如果觉得我的文章对你有用,请随意赞赏