华为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如何调用MYSQL存储过程
May 30 面试题
Android interview questions
Dec 25 面试题
必须要使用游标的SQL语句有那些
May 07 面试题
ORACLE十问
Apr 20 面试题
华三通信H3C面试题
May 15 面试题
什么是跨站脚本攻击
Dec 11 面试题
亿阳信通股份有限公司C#笔试题
Dec 06 面试题
什么是SCM(软件配置管理)
Aug 16 面试题
什么是方法的重载
Jun 24 面试题
与UNIX有关的几个名词
Sep 17 面试题
Java servlet面试题
Mar 04 面试题
Java面试题冲刺第十七天--基础篇3
Aug 07 面试题
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中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
解析php防止form重复提交的方法
2013/07/01 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
图片懒加载插件实例分享(含解析)
2017/01/09 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
flask应用部署到服务器的方法
2019/07/12 Python
python中eval与int的区别浅析
2019/08/11 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
pytorch 修改预训练model实例
2020/01/18 Python
python 进程池pool使用详解
2020/10/15 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
linux面试题参考答案(4)
2014/09/21 面试题
化学教育专业求职信
2014/07/08 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript
学会Python数据可视化必须尝试这7个库
2021/06/16 Python