前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CCF】最小差值

【CCF】最小差值

作者头像
喜欢ctrl的cxk
发布2019-11-08 17:33:25
5890
发布2019-11-08 17:33:25
举报
文章被收录于专栏:Don的成长史Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/84933958

试题编号:

201712-1

试题名称:

最小差值

时间限制:

1.0s

内存限制:

256.0MB

问题描述:

问题描述   给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。 输入格式   输入第一行包含一个整数n。   第二行包含n个正整数,相邻整数之间使用一个格分隔。 输出格式   输出一个整数,表示答案。 样例输入 5 1 5 4 8 20 样例输出 1 样例说明   相差最小的两个数是5和4,它们之间的差值是1。 样例输入 5 9 3 6 1 3 样例输出 0 样例说明   有两个相同的数3,它们之间的差值是0. 数据规模和约定   对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。

解题思路:

从n个整数中找到相差最小的俩个数,直接对数组进行sort,然后for循环来比较排序后的俩个数之间的差值,调用min函数来把俩者间的较小值赋给ans,最后输出的ans就是这个数组的最小差值。

100分代码:

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
    int n;
    cin >> n;
    int a[n];
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];   
    }
    sort(a,a+n);   //对数组中的元素进行升序排序
    int ans = 1e5;  //ans用来存放最小值
    for (int i = 0; i < n-1; i++)
    {
        ans = min(ans,a[i+1]-a[i]);   //调用min函数来返回俩者中的最小值
    }
    cout << ans << endl;
    return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档