题目:给定一个整型数组,里边包含正数和负数,求正负数之差的最大值,要求复杂度为Ο(n)
即 S = a[i] - a[j] ,i>j且S > 0
#include <iostream>
#include <limits.h>
using namespace std;
int main()
{
int A[]={-2,-3,5,-6,8,-5,10,12,-16};
int max;
int sum = INT_MIN;
int n = sizeof(A)/sizeof(A[0]);
max = A[n-1];
for(int i=n-2;i>=0;i--)
{
if(A[i] > max)
max=A[i];
else if(max-A[i] > sum)
sum=max-A[i];
}
cout<<"Max sum is: "<<sum<<endl;
return 0;
}