Python-差值

ACM赛制

题目

擂台赛要开始了,现在有 n名战士,其中第 i\mathit ii 名战士的战斗力为 ai。现在准备从这些战士中挑两名战士进入擂台赛进行对战,由于观众们更喜欢看势均力敌的比赛,所以我们也要挑选两个战斗力尽可能相近的战士进行参赛。那么现在请问,战斗力最接近的两名战士,战斗力之差为多少?

输入描述:

第一行输入一行一个正整数n表示战士的数量。
第二行输入n个正整数表示每名战士的战斗力。

输出描述:

输出一行一个正整数表示答案。

示例1

输入

3
3 5 5

输出

0

说明

选择两名战斗力为 5 的战士,战斗力之差为 0。

示例2

输入

5
1 10 4 9 6

输出

1

说明

选择战斗力为 10 和 9 两名战士,战斗力的差值为 1。

代码

import sys

t=[]
de=[]
i=0
num=[]
n=-1
d1=-1

for line in sys.stdin:
    a = line.split('\n')
    t.append(a[0])
    if len(t)==2:
        number = t[1].split()
        num = [int(nu) for nu in number]
        n=int(t[0])
        break
if len(num)==n:
    num.sort(reverse=True)
    min_1=num[0]
    for i in range(0,n):
        if i<=n-2:
            min_1=min(min_1,abs(num[i]-(num[i+1])))
    print(min_1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值