华为python面试题


Posted in 面试题 onMay 03, 2016
有两个序列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()
print
print “Source List:\t”, l
l1,l2 = mean(l)
print “Result List:\t”, l1, l2
print “Distance:\t”, abs(sum(l1)-sum(l2))
print ‘-*’*40
输出结果
Python代码
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
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Tags in this post...

面试题 相关文章推荐
比较基础的php面试题及答案-填空题
Apr 26 面试题
List、Map、Set三个接口,存取元素时,各有什么特点?
Sep 27 面试题
如何打开WebSphere远程debug
Oct 10 面试题
网络、C以及其他硬件方面的面试题
Aug 23 面试题
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
Jul 16 面试题
SQL Server里面什么样的视图才能创建索引
Apr 17 面试题
介绍一下HTTP、HTTPS和SSL
Dec 16 面试题
Linux如何修改文件和文件夹的权限
Sep 05 面试题
中科方德软件测试面试题
Apr 21 面试题
海量信息软件测试笔试题
Aug 08 面试题
Java语言程序设计测试题改错题部分
Jul 22 面试题
解释i节点在文件系统中的作用
Nov 26 面试题
Python面试题:Python是如何进行内存管理的
Aug 04 #面试题
Python的两道面试题
Jun 29 #面试题
Python面试题:Python里面如何生成随机数
Mar 12 #面试题
Python是如何进行类型转换的
Jun 09 #面试题
Python里面如何实现tuple和list的转换
Jun 13 #面试题
Python文件操作的面试题
Jun 22 #面试题
Python如何实现单例模式
Jun 03 #面试题
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
session 加入redis的实现代码
2016/07/15 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
jQuery实现的浮动层div浏览器居中显示效果
2017/02/03 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python类继承和多态原理解析
2020/02/05 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
编辑求职信样本
2013/12/16 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
岳庙导游词
2015/02/04 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers