题意:
给定一个数组,要求去掉一个元素,求剩余元素中最大值与最小值的差值。
思路:
排序
两种选择:去掉原数组最小的值或者是最大的值。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <queue>
#include <vector>
#include <utility>
#include <cmath>
#define inf 0x7fffffff
#define ll long long
using namespace std;
int a[100005];
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
printf("%d\n",min(a[n-1]-a[1],a[n-2]-a[0]));
return 0;
}