您的位置:首页 > 其它

蘑菇街2016研发工程师_最大间隔

2016-03-14 20:57 225 查看
给定一个递增序列,a1 <a2 <...<an 。定义这个序列的最大间隔为d=max{ai+1 -
ai }(1≤i<n),现在要从a2 ,a3 ..an-1 中删除一个元素。问剩余序列的最大间隔最小是多少?

#include <iostream>

using namespace std;

int main()
{
int a[101];
int i,tmax,tmin,n;
while(cin>>n)
{
cin>>a[0];
if(n==1 || n==2)
cout<<0<<endl;
tmax = 0;
tmin = 0x07ffffff;
for(i=1; i<n; ++i)
{
cin>>a[i];
if(a[i] - a[i-1] > tmax)
tmax = a[i] - a[i-1];
if(i > 1 && tmin > a[i]-a[i-2])
{
tmin = a[i] - a[i-2];
}
}
cout<<(tmax>tmin ? tmax : tmin)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: