试题编号: 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的正整数。

解题思路:

因为都是正整数,且最大值是10000,所以令ans = 10000,代表其差值的绝对值不会大于10000。

输入数据后对数据进行排序,差值最小的值只会在两个相邻数直接取得,因此再次从头到尾遍历,让每个数和与自己相邻的位置进行比较(相邻位置包括左右,但我们从1的位置开始与自己左边的数相比较,这样循环的后一次就是与自己右边的数比较了,不用一次循环比较两次),ans再取其结果的最小值即可(这里因为排序了,所以其实也可以不要abs求其绝对值,一定是正数)。

解题代码:

#include<stdio.h>
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
int a[1010],n,ans=10000;
int main(){scanf("%d",&n);for(int i = 0; i < n; i++)scanf("%d",&a[i]);sort(a,a+n);for(int i = 1; i < n; i++)ans = min(ans,abs(a[i]-a[i-1]));printf("%d",ans);return 0;
}

CCF201712-1 最小差值相关推荐

  1. CCF201712-1 最小差值(100分)

    试题编号: 201712-1 试题名称: 最小差值 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值 ...

  2. LeetCode简单题之学生分数的最小差值

    题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最 ...

  3. mysql获取两个表中日期字段的最小差值

    一.前言 开发中碰到的需求,获取两个数据表中日期字段的差值,并且取得差值最小的那条数据.本篇文章主要讲述如果通过函数获取mysql的日期差值,实际编写时遇到的问题,并且分析需求,得出最终sql等. 二 ...

  4. 算法--06年华为面试:求两个数组的最小差值(Java实现)

    Q题目 华为06年面试题(要求8分钟完成) 有两个数组a,b,大小都为n,数组元素的值任意,无序: 要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小. A解法 1.常见错误逻 ...

  5. 算法--微软面试题:求一个整数数组元素间最小差值

    Q题目 有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数. A解法 方案一:最愚笨的办法--暴力穷举 利用数组中所有数据两两相减的对比来求出这个最小差值. ...

  6. 「 每日一练,快乐水题 」1984. 学生分数的最小差值

    ✅力扣原题: 力扣链接:1984. 学生分数的最小差值 ✅题目简述: 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组 ...

  7. 1984. 学生分数的最小差值

    1984. 学生分数的最小差值 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的分数,使这 k ...

  8. leetcode910. 最小差值 II(贪心)

    给定一个整数数组 A,对于每个整数 A[i],我们可以选择 x = -K 或是 x = K,并将 x 加到 A[i] 中. 在此过程之后,我们得到一些数组 B. 返回 B 的最大值和 B 的最小值之间 ...

  9. LeetCode 1984. 学生分数的最小差值

    文章目录 1. 题目 2. 解题 1. 题目 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组中选出任意 k 名学生的 ...

  10. LeetCode 910. 最小差值 II(贪心)

    1. 题目 给定一个整数数组 A,对于每个整数 A[i],我们可以选择 x = -K 或是 x = K,并将 x 加到 A[i] 中. 在此过程之后,我们得到一些数组 B. 返回 B 的最大值和 B ...

最新文章

  1. Android实用代码(不定期更新)
  2. linkbutton控件中使用CommandName属性和CommandArgument属性
  3. 【CyberSecurityLearning 4】NTFS安全权限及文件共享服务器
  4. 《JavaScript高级程序设计》Chapter 5 引用类型
  5. 网易资深Java架构师:java数组对象转为list集合
  6. socket套接字TCP API
  7. excel日期格式改不了_画进度计划横道图,Excel就够了
  8. python知识:json格式文本;异常处理;字符串处理;unicode类型和str类型转换
  9. Linux安装Django
  10. 【2018CPCP-Final G:】Pastoral Life in Stardew Valley
  11. Wonderware-InTouch安装 Intouch 2014 R2 SP1
  12. 拼写检查器——朴素贝叶斯应用
  13. D-月之暗面(树形dp)
  14. display与visibility可见性、内补白与外补白
  15. Win10自带OpenSSH的使用
  16. 靠写iPhone程序发财的三个故事
  17. SQL注入攻击及危害
  18. JSP网上二手交易商城
  19. 腾讯云服务器域名解析操作详解
  20. 20162316刘诚昊 第三周学习总结

热门文章

  1. oracle关于分区,关于Oracle分区
  2. raspberry pi_如何启动新的Raspberry Pi
  3. 数据库健康状况监视_监视数据库运行状况和行为:哪些指标重要?
  4. 软件构建设计图_游戏设计如何帮助您构建更好的软件
  5. LinuxQuestions.org庆祝16岁生日
  6. 前端:CSS/09/行内框架,CSS简介,CSS选择器,组合选择器,CSS注释,CSS尺寸属性,CSS字体属性,CSS文本属性
  7. 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
  8. 教程 | MySql都会了,确定不学习一下MyCat分片?
  9. 访问 JSON 对象的值
  10. es6 Promise.race()方法