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

面试题 相关文章推荐
2019年Java 最常见的 面试题
Oct 19 面试题
C有"按引用传递"吗
Sep 06 面试题
一套带答案的C++笔试题
Jan 10 面试题
南京某软件公司的.net面试题
Nov 30 面试题
介绍一下.net和Java的特点和区别
Sep 26 面试题
请解释流与文件有什么不同
Jul 29 面试题
西安启天科技有限公司网络工程师面试题笔试题
Jun 12 面试题
C#中类(class)与结构(struct)的异同
Nov 03 面试题
linux面试题参考答案(2)
Dec 06 面试题
什么是设计模式
Jun 17 面试题
Prototype如何为一个Ajax添加一个参数
Dec 06 面试题
介绍一下如何优化MySql
Dec 20 面试题
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
第1次亲密接触PHP5(1)
2006/10/09 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
深入理解PHP内核(一)
2015/11/10 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
jquery编写日期选择器
2017/03/16 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
Python常见内置高效率函数用法示例
2018/07/31 Python
浅析python继承与多重继承
2018/09/13 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
四年的个人工作自我评价
2013/12/10 职场文书
药学专业个人的自我评价
2013/12/31 职场文书
打架检讨书2000字
2014/02/22 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
树转促学习心得体会
2014/09/10 职场文书
防火标语大全
2014/10/06 职场文书
车间质检员岗位职责
2015/04/08 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
结婚主持人致辞
2015/07/28 职场文书
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript