【算法------01】从某个数字列表中找出两个彼此最接近但不相等的数
2016-03-12 20:45
423 查看
最接近但不相等,即两者间的绝对差是最小的
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
排序通常是一个线性对数级操作,已排序的序列中最接近的两个数必然是相邻的
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
排序通常是一个线性对数级操作,已排序的序列中最接近的两个数必然是相邻的
相关文章推荐
- Activity的启动模式
- 源程序版本管理软件和项目管理软件的优缺点
- 模仿百度搜索界面
- 跟着廖雪峰的git教程学习(2)时光机穿梭(一)版本回退
- 第三十九级台阶
- Activity常用方法
- 2014-2015-2课程信息
- Array类
- 嵌入式linux交叉编译环境构建
- CodeForces 598A Tricky Sum(思维)
- const变量通过指针修改 详解
- 排序算法之“选择排序-冒泡排序-插入排序”
- 学生名单
- 3月12
- 误删ubuntu下/usr/bin
- 抓取淘宝MM的照片
- 蓝桥杯 历届试题 前缀判断 三部排序
- Intent action
- bzoj 3540: [Usaco2014 Open]Fair Photography
- Python的MySQLdb模块安装