华为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面试题
Apr 14 面试题
PHP面试题及答案二
May 23 面试题
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 面试题
Java里面如何创建一个内部类的实例
Jan 19 面试题
怎么处理XML的中文问题
Mar 26 面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
Feb 15 面试题
internal修饰符起什么作用
Dec 16 面试题
Linux机考试题
Jul 17 面试题
介绍一下gcc特性
Jan 20 面试题
remote接口和home接口主要作用
May 15 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
Mar 12 面试题
Ruby如何实现动态方法调用
Nov 18 面试题
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设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
Jquery 扩展方法
2010/05/06 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
bootstrap table服务端实现分页效果
2017/08/10 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
修改vue+webpack run build的路径方法
2018/09/01 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python实现神经网络感知器算法
2017/12/20 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
Python中qutip用法示例详解
2020/10/02 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
2016秋季小学开学寄语
2015/12/03 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
JS实现简单九宫格抽奖
2022/06/28 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript