免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 16921 | 回复: 13
打印 上一主题 下一主题

[C] 【华为公司硬件工程师面试题】,要求8分钟写出代码... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-28 14:11 |只看该作者 |倒序浏览
有两个数组a,b,大小都为n,数组元素的值任意整形数,无序;
要求:通过交换a,b中的元素,使[数组a元素的和]与[数组b元素的和]之间的差最小。


===============================================
回答一剑凌云山海情 的问题:(其中部分片段摘抄了孟岩的文章)
--------------------------------------------------------------------------------------
原帖由 一剑凌云山海情 于 2009-6-29 09:44 发表
>>厌倦了C++的低效率,我们崇尚敏捷开发,我们只用C!
敏捷开发和c有什么关系?真的崇尚敏捷开发的话,用c++不是更适合吗?



C是简约式的语言,C++是魔幻式的语言。简约式的语言更敏捷。
什么是魔幻语言呢?对编程语言进行分类有很多方法,其中人们常用的比如非常“过程式语言”,“面向对象语言”,“函数式语言”等,这是按照在这种语言中原始的看待程序的方式来划分。还有比如“编译型语言”和“解释型语言”,这是按照语言翻译发生的时间来划分的,还有一些别的分法。不过我一直觉得,根据语言本身的设计风格和拥护者的气质也可以把语言划分成“魔幻语言”和“简约语言“两类。

      所谓”魔幻语言“,主要代表作品有C++、Perl、Javascript和Ruby。这些语言拥有丰富的特性,聪明的技巧和意想不到的奇效,永远有发掘不完的奇技淫巧,总能找到让人匪夷所思的”yet another way"。反过来,“简约语言”崇尚清晰直接,够用就行,要求从代码容易理解,宁可笨一点、累一点、多写一点代码,反对出人意料的技巧,反对故弄玄虚。C、PHP、Python和Lua这一派语言的代表作。

     魔幻语言通常看上去更加引人入胜,能够做一大堆让人目瞪口呆的事情。魔幻语言的拥护者,通常都热衷于这种智力竞赛,他们发掘语言中每一个死角,寻找有趣的技巧组合,一遍遍地寻找更好的方法和思路,对语言层面的技巧如痴如醉,乐此不疲。在魔幻语言的社群里,“语言高手”是备受尊崇的,他们可能不知道怎么响应一个HTTP请求,但是却能够用不少于6种方式来写一个for循环。他们写的代码是一种谜语般的艺术,出谜语和猜谜语的人们都能从中获得巨大的精神满足。

      简约语言就土多了。通常做一件事情就那么一两种方法,你真的没多少花花肠子可绕。光看代码根本不看不出你的道行,随便一个受过一点专业训练的人也能看透你葫芦里卖的什么药,在代码里找成就感,基本没戏。当然,这并不是说简约语言的“能力”要比魔幻语言差,或者是会限制你的思维。相反,简约语言让你把注意力集中在哪些真正与问题相关的地方,而不是语言本身的表达方式上。因此从工程上看,简约语言更敏捷,更适合大规模、协作式的软件开发。
从长时间的比较来看,简约语言无疑受到更广泛的支持。

C是简约式的语言,一个简约式的语言决定了:它的使用者无论是水平再高的大师也不会在代码上玩出:
tr1::function < void(const record_set&) >  on_completion =
tr1::bind(tr1::mem_fn(&grid::display_data), this, _1);
这样的C++代码技巧。。。

C是简约式的语言,so,简约式的C语言更敏捷。。。

[ 本帖最后由 天魔封神霸 于 2009-6-29 10:38 编辑 ]

论坛徽章:
1
天秤座
日期:2014-04-27 07:42:20
2 [报告]
发表于 2009-06-28 20:51 |只看该作者
1、两数组分别累计求和,得到水平值和差值。
2、遇到同向数值(假设数组A之和大于数组B之和,且a(n)〉b(n)),交换之且减去差值,直至差值接近0。


嗯,直接找累计差会比较快速,但程序复杂。8分钟可能不够

[ 本帖最后由 A.com 于 2009-6-28 20:55 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-06-28 21:37 |只看该作者
又出这个题了?

论坛徽章:
0
4 [报告]
发表于 2009-06-28 22:25 |只看该作者
第三次看到这题了
话说这是硬件工程师的题吗?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2009-06-28 22:48 |只看该作者
8 分钟的意思就是说,看你平时背的题库多不多。

论坛徽章:
0
6 [报告]
发表于 2009-06-28 23:22 |只看该作者
前不久有人出过,不过觉得也太难了

论坛徽章:
0
7 [报告]
发表于 2009-06-29 05:00 |只看该作者
我觉的一楼有问题,在python中也发了这道题。
是不是想以招聘题目为由叫大家帮你设计啊

论坛徽章:
0
8 [报告]
发表于 2009-06-29 09:24 |只看该作者
...楼上的多想了哦

论坛徽章:
0
9 [报告]
发表于 2009-06-29 09:44 |只看该作者
>>厌倦了C++的低效率,我们崇尚敏捷开发,我们只用C!
敏捷开发和c有什么关系?真的崇尚敏捷开发的话,用c++不是更适合吗?

论坛徽章:
0
10 [报告]
发表于 2009-06-29 10:01 |只看该作者

回复 #1 天魔封神霸 的帖子



[ 本帖最后由 cai120120 于 2009-6-29 10:08 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP