华为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面试题附答案
Jun 05 面试题
static关键字的用法
Oct 07 面试题
SQL Server笔试题
Jan 10 面试题
北京华建集团SQL面试题
Jun 03 面试题
.NET现在共支持多少种语言
Feb 26 面试题
系统管理员的职责包括那些?管理的对象是什么?
Jan 18 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
EJB timer的种类
Oct 28 面试题
String s = new String(“xyz”);创建了几个String Object?
Aug 05 面试题
Overload和Override的区别
Sep 02 面试题
介绍下Java中==和equals的区别
Sep 01 面试题
J2EE的优越性主要表现在哪些方面
Mar 28 面试题
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 xml-rpc远程调用
2008/12/19 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
解决layUI的页面显示不全的问题
2019/09/20 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 元类使用说明
2009/12/18 Python
python发送邮件接收邮件示例分享
2014/01/21 Python
常见python正则用法的简单实例
2016/06/21 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
python多进程间通信代码实例
2019/09/30 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
亲子拓展活动方案
2014/02/20 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
yy司仪主持词
2014/03/22 职场文书
初三学生评语大全
2014/04/24 职场文书
读后感作文评语
2014/12/25 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
迎新年主持词
2015/07/06 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
如何利用python实现Simhash算法
2022/06/28 Python