华为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...

面试题 相关文章推荐
JAVA代码查错题
Oct 10 面试题
写出二分查找算法的两种实现
May 13 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 面试题
SQL Server数据库笔试题和答案
Feb 04 面试题
可靠的数据流传输TCP
Mar 15 面试题
恶意软件的定义
Nov 12 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
类和结构的区别
Aug 15 面试题
介绍一下Make? 为什么使用make
Dec 08 面试题
客服端调用EJB对象的几个基本步骤
Jan 15 面试题
Final类有什么特点
Apr 25 面试题
创立科技Java面试题
Nov 29 面试题
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
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
jquery实现的图片点击滚动效果
2014/04/29 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
JS高级运动实例分析
2016/12/20 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
Python中的装饰器用法详解
2015/01/14 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Python通过VGG16模型实现图像风格转换操作详解
2020/01/16 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
印尼披萨外送专家:Domino’s Pizza印尼
2017/12/28 全球购物
资料员岗位职责
2013/11/17 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
新教师培训方案
2014/06/08 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers