日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

數(shù)組分組問題

 猩猩喜歡吃香蕉 2016-01-11

這個(gè)問題是這個(gè)樣子滴有一個(gè)無序、元素個(gè)數(shù)為n(n為偶數(shù))的正整數(shù)數(shù)組arr,要求:如何能把這個(gè)數(shù)組分割為元素個(gè)數(shù)為n/2的兩個(gè)子數(shù)組,并使兩個(gè)子數(shù)組的的和最接近。

 

我的思路是:

(1)把數(shù)組拆成2個(gè)子數(shù)組A和B

(2)用A中的每個(gè)元素與B中的每個(gè)元素比較,數(shù)組值之和的絕對值小于原來的值就交換

 

其實(shí)并不難,關(guān)鍵在于我突然犯2了...我寫了個(gè)測試數(shù)組a=[1,2,3,4,5,6].然后想當(dāng)然地以為分成的兩個(gè)數(shù)組各元素之和應(yīng)該相等的。結(jié)果在那苦苦耗了半天,想死的心都有了...

復(fù)制代碼
from random import randint
import copy
a
=[randint(1,10) for i in range(0,10)]
x,y
=a[:len(a)/2],a[len(a)/2:]
X
=copy.deepcopy(x)
Y
=copy.deepcopy(y)
for i in range(len(x)):
for m in range(len(y)):
n
=abs(sum(x)-sum(y))
X[i],Y[m]
=Y[m],X[i]
if abs(sum(X)-sum(Y))<n:
x[i],y[m]
=y[m],x[i]
X
=copy.deepcopy(x)
Y
=copy.deepcopy(y)

print "List is %s"%a,"\nListA is%s"%x,"\nListB is%s"%y,"\nThe minus abs value is %d"%abs(sum(x)-sum(y))
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多