国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python求兩序列的和最小差值序列

2019-11-06 06:38:51
字體:
來源:轉載
供稿:網友

有兩個序列a,b,大小都為n,序列元素的值任意整形數,無序; 要求:通過交換a,b中的元素,使[序列a元素的和]與[序列b元素的和]之間的差最小。 算法 1.將兩序列合并為一個序列,并排序,為序列Source 2.拿出最大元素Big,次大的元素Small 3.在余下的序列S[:-2]進行平分,得到序列max,min 4.將Small加到max序列,將Big加大min序列,重新計算新序列和,和大的為max,小的為min。 python實現代碼

def mean( sorted_list ):if not sorted_list:return (([],[]))big = sorted_list[-1]small = sorted_list[-2]big_list, small_list = mean(sorted_list[:-2])big_list.append(small)small_list.append(big)big_list_sum = sum(big_list)small_list_sum = sum(small_list)if big_list_sum > small_list_sum:return ( (big_list, small_list))else:return (( small_list, big_list))tests = [ [1,2,3,4,5,6,700,800],[10001,10000,100,90,50,1],range(1, 11),[12312, 12311, 232, 210, 30, 29, 3, 2, 1, 1]]for l in tests:l.sort()輸出結果:

Source List: [1, 2, 3, 4, 5, 6, 700, 800]Result List: [1, 4, 5, 800] [2, 3, 6, 700]Distance: 99-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Source List: [1, 50, 90, 100, 10000, 10001]Result List: [50, 90, 10000] [1, 100, 10001]Distance: 38-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Source List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]Result List: [2, 3, 6, 7, 10] [1, 4, 5, 8, 9]Distance: 1-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*Source List: [1, 1, 2, 3, 29, 30, 210, 232, 12311, 12312]Result List: [1, 3, 29, 232, 12311] [1, 2, 30, 210, 12312]Distance: 21-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

怎樣讓python實現希爾排序算法

def shellSort(items):inc = len(items) / 2while inc:for i in xrange(len(items)):j = itemp = items[i]while j >= inc and items[j-inc] > temp:items[j] = items[j - inc]j -= incitems[j] = tempinc = inc/2 if inc/2 else (0 if inc==1 else 1)a = [35, -8, 11, 1, 68, 0, 3];shellSort(a)print a # [-8, 0, 1, 3, 11, 35, 68]
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 山东省| 奇台县| 丰县| 万载县| 新闻| 沙坪坝区| 梓潼县| 南雄市| 读书| 靖远县| 栖霞市| 葫芦岛市| 罗江县| 蒲江县| 通渭县| 遂川县| 诸城市| 栾川县| 得荣县| 鹤峰县| 莱芜市| 绥棱县| 区。| 平山县| 桂林市| 陵川县| 安西县| 松溪县| 内黄县| 锦屏县| 赤城县| 永修县| 凤山县| 西吉县| 西昌市| 北票市| 叶城县| 罗田县| 遂溪县| 乐业县|