题目描述
有一个长为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;
}
};