import random
def getTwoClosestElements(seq):
#先进行排序,使得相邻元素最接近
#相差最小的元素必然相邻
seq = sorted(seq)
#无穷大
dif = float('inf')
#遍历所有元素,两两比较,比较相邻元素的差值
#使用选择法寻找相差最小的两个元素
for i,v in enumerate(seq[:-1]):
d = abs(v - seq[i+1])
if d < dif:
first, second, dif = v, seq[i+1], d
#返回相差最小的两个元素
return (first, second)seq = [random.random() for i in range(20)]
print(seq)
print(sorted(seq))
print(getTwoClosestElements(seq))
标签:元素,相差,seq,Python,dif,random,print,给定,序列
From: https://blog.51cto.com/u_9653244/6451053