python面试题(1)
2015-07-01 21:46
281 查看
有两个序列a,b大小都为n,序列元素的值任意整形数,无序;
a = [1,24,6,100,7]
b = [5,3,200,55,2]
要求:通过交换a,b中的元素,使序列a元素的和与序列b元素的和之间的差最小。
解:
a = [1,24,6,100,7]
b = [5,3,200,55,2]
要求:通过交换a,b中的元素,使序列a元素的和与序列b元素的和之间的差最小。
解:
#coding:gbk import itertools #载入迭代模块 A = [1,24,6,100,7] B = [5,3,200,55,2] C = A+B #合并列表 LC = list(itertools.permutations(C,5)) #生成所有组合 Total = sum(C) #总和 Cha_Min = Total #初始化最小差 Result = [] #初始化结果列表 for i in LC: #遍历所有组合 Cha = abs(Total-sum(i)-sum(i)) #计算差 if Cha < Cha_Min: #如果最小差,则更新结果 Result_A = list(i) Cha_Min = Cha for i in Result_A: #从总列表中删除Result_A列表中元素 C.remove(i) Result_B = C #赋值Result_B print 'Result_A = ',Result_A print 'Result_B = ',Result_B print 'Min_difference = ',Cha_Min
相关文章推荐
- python脚本二
- python3爬虫
- FASTDFS PYTHON [-] Error: response size not match, expect: 105, actual: 105 解决
- Python图像处理(13):brisk特征检测
- opencv 拉伸、扭曲、旋转图像-仿射变换 opencv1 / opencv2 / python cv2(代码)
- Windows配置Python编程环境
- Python编写在Maya中查看文件列表的插件
- [python]用profile协助程序性能优化
- 简单python爬虫
- python3.4学习笔记(十一) 列表、数组实例
- python3.4学习笔记(十) 常用操作符,条件分支和循环实例
- python pool
- python MySQLdb executemany
- Python学习笔记22:Django下载并安装
- python编程之bomb catcher 小游戏
- 利用python中的gzip模块压缩和解压数据流和文件
- Python多线程
- install MySQL-python
- Python 魔术方法及调用方式
- python中的==和is