最小差值(传送门)
一道水题,没什么可说的
满分代码
#include <iostream>
#include <algorithm> //sort排序算法
using namespace std;
int a[1005];
int n;
int minn;
int main(){
cin >> n;
for(int i = 0; i < n; i++){
cin >> a[i];
}
sort(a,a+n);
minn = abs(a[1]-a[0]);
for(int i = 1; i < n-1; i++){
minn = minn < abs(a[i+1]-a[i]) ? minn : abs(a[i+1]-a[i]);
}
cout << minn;
}
这里是题目O(∩_∩)O,欢迎大家留言,有空的话可以点个赞哦(#^ . ^#)
试题编号:
|
201712-1 |
---|---|
试题名称: | 最小差值 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述:给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式:输入第一行包含一个整数n。第二行包含n个正整数,相邻整数之间使用一个空格分隔。 输出格式:输出一个整数,表示答案。样例输入:51 5 4 8 20 样例输出:1样例说明:相差最小的两个数是5和4,它们之间的差值是1。样例输入:59 3 6 1 3 样例输出:0样例说明:有两个相同的数3,它们之间的差值是0.评测用例规模与约定对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。 |