前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python寻找给定序列中相差最小的两个数字

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

作者头像
Python小屋屋主
发布2018-04-17 11:02:36
2.1K0
发布2018-04-17 11:02:36
举报
文章被收录于专栏: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))

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档