0


Python寻找给定序列中相差最小的两个数字

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))


本文转载自: https://blog.csdn.net/dongfuguo/article/details/118704703
版权归原作者 dongfuguo 所有, 如有侵权,请联系我们删除。

“Python寻找给定序列中相差最小的两个数字”的评论:

还没有评论