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

面试题 相关文章推荐
什么是smarty? Smarty的优点是什么?
Aug 11 面试题
Linux中如何设置Java环境变量(Ubuntu)
Jul 24 面试题
Java面试题及答案
Sep 08 面试题
局部内部类是否可以访问非final变量?
Apr 20 面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
Feb 15 面试题
什么是事务?为什么需要事务?
Jan 09 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 面试题
linux面试题参考答案(6)
Jun 23 面试题
介绍一下write命令
Aug 10 面试题
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
Dec 30 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
Ruby如何进行文件操作
Jul 17 面试题
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中定义数组常量(array常量)的方法
2014/11/17 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
JS backgroundImage控制
2009/05/19 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python常见文件操作的函数示例代码
2011/11/15 Python
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
win与linux系统中python requests 安装
2016/12/04 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
寒假实习自荐信
2014/01/26 职场文书
委托公证书
2014/04/08 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
党员群众路线整改措施及今后努力方向
2014/10/28 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang