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

面试题 相关文章推荐
strlen的几种不同实现方法
May 31 面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 面试题
说一下mysql, oracle等常见数据库的分页实现方案
Sep 29 面试题
.net软件工程师面试题
Mar 31 面试题
简述DNS进行域名解析的过程
Dec 02 面试题
C#如何允许一个类被继承但是避免这个类的方法被重载?
Feb 24 面试题
网上常见的一份Linux面试题(多项选择部分)
Sep 09 面试题
Ajax的优点和缺点
Nov 21 面试题
Java面试题汇总
Dec 06 面试题
三个Unix的命令面试题
Apr 12 面试题
SOA面试题:如何在SOA中实现松耦合
Jul 21 面试题
Promise面试题详解之控制并发
May 14 面试题
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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
E路文章系统PHP
2006/12/11 PHP
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
PHP生成树的方法
2015/07/28 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
php中上传文件的的解决方案
2018/09/25 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
python django 增删改查操作 数据库Mysql
2017/07/27 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
租赁意向书范本
2014/04/01 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
公司担保书格式范文
2014/05/12 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
工厂标语大全
2014/10/06 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL