📌  相关文章
📜  国际空间研究组织 | ISRO CS 2017 – 5 月 |问题 54(1)

📅  最后修改于: 2023-12-03 15:23:04.450000             🧑  作者: Mango

国际空间研究组织 (ISRO) CS 2017 - 5月 - 问题54

在这个问题中,我们需要编写一个程序来求解一组N个数中,任意两个不同的数之间的最小绝对差。

输入格式
  • 第1行包含一个整数N,表示数组中数字的个数。
  • 第2行包含N个整数A1,A2,...,AN,表示数组中的数字。
输出格式
  • 输出一个整数,表示数组中任意两个不同元素之间的最小绝对差。
样例输入
5
10 -1 0 45 20 
样例输出
5
解题思路

该题目实际上就是一道排序问题,我们只需要将数组进行升序排序,然后依次比较每个数字与相邻的数字之间的差值,找到其中最小的那个即可。

参考代码
n = int(input())
a = list(map(int, input().split()))
a.sort()
min_diff = float("inf")
for i in range(1, n):
    min_diff = min(min_diff, abs(a[i] - a[i-1]))
print(min_diff)
上述代码是一个 Python 版本的解题代码,首先读入数组大小N和数组a,接着对数组a进行升序排列,接着使用 for 循环遍历整个数组,从第二个数开始,依次计算相邻两个数字之间的差值,更新差值的最小值,最终输出结果。