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

面试题 相关文章推荐
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
在C中是否有模拟继承等面向对象程序设计特性的好方法
May 22 面试题
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
Aug 15 面试题
C/C++程序员常见面试题一
Dec 08 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
2019年.net常见面试问题
Feb 12 面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
Jan 13 面试题
线程问题:wait()方法是定义在哪个类里面
Jul 07 面试题
什么是Web Service?
Jul 25 面试题
Java面试题:说出如下代码的执行结果
Oct 30 面试题
Unix控制后台进程都有哪些进程
Sep 22 面试题
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
桌面中心(三)修改数据库
2006/10/09 PHP
php的正则处理函数总结分析
2008/06/20 PHP
php的字符串用法小结
2010/06/08 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php导出CSV抽象类实例
2014/09/24 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
python使用scrapy解析js示例
2014/01/23 Python
基于Python中的yield表达式介绍
2019/11/19 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python实现斗地主分牌洗牌
2020/06/22 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
阿联酋优惠券服务:Living Kool
2019/12/12 全球购物
互联网创业计划书的书写步骤
2014/01/28 职场文书
大学秋游活动方案
2014/02/11 职场文书
市场总监岗位职责
2015/02/11 职场文书
2019思想汇报范文
2019/05/21 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis