
可以证明,差值最小的两个数一定是在数轴上距离最近的两个数。因此可以考虑先对输入数据进行排序,然后再求出相邻数据的差值中最小的那个即可。
具体代码如下:
#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;
}
本文介绍了一种通过排序和遍历数组来找到两个元素之间最小差值的方法。首先对输入数据进行排序,然后计算并返回相邻元素差值的最小值。
229

被折叠的 条评论
为什么被折叠?



