概述
最接近但不相等,即两者间的绝对差是最小的
python
from random import randrange
seq = [randrange(10**10) for i in range(100)]
dd = float('inf')
for x in seq:
for y in seq:
if x == y :
continue
d = abs(x - y)
if d < dd:
xx, yy, dd = x, y ,d
print xx,yy
复杂度平方级
seq.sort()
dd = float('inf')
for i in range(len(seq) - 1):
x, y = seq[i], seq[i + 1]
if x == y :
continue
d = abs(x - y)
if d < dd:
xx, yy dd = x, y ,d
print xx,yy
排序通常是一个线性对数级操作,已排序的序列中最接近的两个数必然是相邻的
最后
以上就是机智大侠为你收集整理的【算法------01】从某个数字列表中找出两个彼此最接近但不相等的数的全部内容,希望文章能够帮你解决【算法------01】从某个数字列表中找出两个彼此最接近但不相等的数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复