一、一个数组a[0...n-1],求a[j]-a[i]的最大值,其中i<j
二、一个数组a[0...n-1],求a[i]-a[j]的最大值,其中i<j
===>两个变量:当前最小值min和当前最大差值maxdiff。遍历一遍数组,更新这两个变量
#include<iostream>
using namespace std;
int main()
{
//int arr[]={12,-10,3,6,4,-1,5,8,6,7,10};
int n; cin>>n;
int a[n]={0};
for(int i=1;i<=n;i++) cin>>a[i];
int min=arr[0];
int maxdiff=0;
int len = sizeof(arr)/sizeof(int);
for(int i=1;i<len;i++)
{
maxdiff=maxdiff>(arr[i]-min)?maxdiff:(arr[i]-min);
min=arr[i]<min?arr[i]:min;
}
cout<<maxdiff;
return 0;
}
二、一个数组a[0...n-1],求a[i]-a[j]的最大值,其中i<j
===>两个变量:当前最大值max和当前最大差值maxdiff。遍历一遍数组,更新这两个变量
#include<iostream>
using namespace std;
int main()
{
//int arr[]={12,-10,3,6,4,-1,5,8,6,7,10};
int n; cin>>n;
int a[n]={0};
for(int i=1;i<=n;i++) cin>>a[i];
int max=arr[0];
int maxdiff=0;
int len = sizeof(arr)/sizeof(int);
for(int i=1;i<len;i++)
{
maxdiff=maxdiff>(max-arr[i])?maxdiff:(max-arr[i]);
max=arr[i]>max?arr[i]:max;
}
cout<<maxdiff;
return 0;
}