Python 尋找給定序列中相差最小的兩個數字

2021-10-23 05:20:41 字數 1055 閱讀 2480

def

gettwoclosestelements

(arr)

:#先進行排序,使得相鄰元素最接近

#相差最小的元素必然相鄰

seq =

sorted

(arr)

#先進行排序

dif =

float

('inf'

)#無窮大

#遍歷所有元素,兩兩比較,比較相鄰元素的差值

#使用選擇法尋找相差最小的兩個元素

for i,v in

enumerate

(seq[:-

1]):

#i,v均為已排序列表seq中的元素,其中i,v相鄰

d =abs(v - seq[i+1]

)#選擇排序法,後面的元素減去前面的元素得到的值的絕對值為d

if d < dif:

#合法,相鄰直接差值比無窮大要小

first, second, dif = v, seq[i+1]

, d#d存放兩數之差的絕對值,用於接下來繼續比較差值,找差值最小的、這裡的seq[:-1]是倒著來的,所以v在前,seq[i+1]在後

#返回相差最小的兩個元素

return

(first, second)

arr=

n=int

(input

("請輸入要給定序列中的元素個數:"))

print

("請依次輸入給定序列各元素的值:"

)for i in

range

(n):

int(

input()

))print

('給定序列為:%s'

% arr)

print

('給定序列排序之後為:%s'

%sorted

(arr)

)print

("相差最小的兩個數字:"

,end="")

print

(gettwoclosestelements(arr)

)

python之在序列中尋找不同的元素

a list the sixth sick sheik s sixth sheep s sick set a list 利用set的唯一屬性,的確是個不錯的主意,呵呵 a string east is east set a string words send more money join word...

python中的序列化 python中序列化

1.序列化之json 注意 如果我們要在不同的程式語言之間傳遞物件,就必須把物件序列化為標準格式 比如xml,但更好的方法是序列化為json,因為json表示出來就是乙個字串,可以被所有語言讀取,也可以方便地儲存到磁碟或者通過網路傳輸。json不僅是標 準格式,並且比xml更快,而且可以直接在web...

python中如何刪除列表中給定的元素

我們有時候需要刪除python中列表的元素,今天介紹三種常用的方法 remove pop del 1 remove 用於刪除指定名稱的元素demo 1 2,2 3,3 3,a b c demo.remove a print demo 輸出如下 1,2,2,3,3,3,b c 2 pop 用於刪除指定...