CCF认证2017121-最小差值
可以证明,差值最小的两个数一定是在数轴上距离最近的两个数。因此可以考虑先对输入数据进行排序,然后再求出相邻数据的差值中最小的那个即可。
具体代码如下:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> input(n);
int ans = INT_MAX;
for(int i = 0; i < n; i++) cin >> input[i];
sort(input.begin(), input.end());
for(int i = 0; i < n - 1; i++)
ans = min(ans, abs(input[i] - input[i + 1]));
cout << ans;
return 0;
}