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

首頁 > 學院 > 開發設計 > 正文

python小算法(二)

2019-11-14 17:29:41
字體:
來源:轉載
供稿:網友

有兩個序列a,b,大小都為n,序列元素的值任意整形數,無序;

要求:通過交換a,b中的元素,使[序列a元素的和]與[序列b元素的和]之間的差最小。(華為面試)

def diff(sorted_list, length):	if not sorted_list:		return (([],[]))	last = sorted_list[-1]	big_list, small_list = diff(sorted_list[:-1],length)	big_list_sum = sum(big_list)	small_list_sum = sum(small_list)	if big_list_sum > small_list_sum:		if len(small_list) >= length:			big_list.append(last)		else:			small_list.append(last)		return ((big_list, small_list))	else:		if len(big_list) >= length:			small_list.append(last)		else:			big_list.append(last)		return ((small_list, big_list))def deal(one, two):	for i in xrange(len(one)-1,-1,-1):		for j in xrange(len(two)-1,-1,-1):			d = abs(sum(one) - sum(two))			if 0<= one[i] - two[j] <=d:				one[i], two[j] = two[j], one[i]	return ((one, two))a = [1,3,5,7,99,100,200]b = [2,4,6,88,10,9,233]length = len(a)a.extend(b)p = sorted(a,reverse=True)one, two = diff(p, length)one, two = deal(one, two)PRint oneprint twoprint sum(one), sum(two), sum(one) - sum(two)

  

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 双桥区| 丰镇市| 邮箱| 凤庆县| 灵宝市| 延吉市| 周口市| 濮阳县| 鹰潭市| 榆社县| 通江县| 龙南县| 绥化市| 儋州市| 固安县| 岱山县| 南澳县| 蓬溪县| 长乐市| 达拉特旗| 嘉祥县| 饶平县| 沁阳市| 侯马市| 定襄县| 项城市| 凤山市| 龙井市| 南阳市| 东丰县| 巴南区| 崇礼县| 宣汉县| 丰镇市| 辉南县| 南和县| 焉耆| 古丈县| 乐山市| 巩义市| 石狮市|