华为机试题汇总作者

华为机试题汇总作者

ID:16033116

大小:360.75 KB

页数:21页

时间:2018-08-07

华为机试题汇总作者_第1页
华为机试题汇总作者_第2页
华为机试题汇总作者_第3页
华为机试题汇总作者_第4页
华为机试题汇总作者_第5页
资源描述:

《华为机试题汇总作者》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2016校招华为提前批机试(2015年8月13日上午)  今年的华为机试跟以往的有所不同,以往机试题侧重于字符串处理,分数权重为:60、100、160。今年貌似改革了,题目都偏向数学逻辑类。华为的名言“胜则举杯相庆,败则拼死相救”说话的人来头不小:任正非,顺带说了很欣赏华为的狼性文化,团队精神。1、猴子吃桃题目描述:  猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个。第二天早上有奖剩下的桃子吃掉一般,又多吃了一个。以后每天早上都吃了前一天剩下的一般零一个。到第m天早上再吃时,只剩下一个桃子。求第一天共摘了多少?输入:mwield天数,即第m早上再想吃时,只剩下一个桃

2、子。输出:第一天共摘了多少个桃子。样例输入:2样例输出:4 答题思路:  从第m天推起,第m天为1个;第m-1天为(1+1)*2个;第m-2天为……以此反推,for循环就可以搞定。 2、海滩上有多少个桃子题目描述:  海滩上有一堆桃子,只猴子来分。第一只猴子把这堆桃平均分为m份,多了一个,把多的一个扔到海里,拿走了一份。第二只猴子把剩下的桃子又平均分为m份,多了一个,丢入海里,拿走了一份……第三第四……第m只猴字都这样操作,请问海滩上原来最少有多少个桃子?输入:猴子个数m(3<=m<=9)输出:原来最少有多少个桃子样例输入:3样例输出:25 答题思路:  楼主是暴力求解的,所以效

3、率比较低,i从第1开始,认为最后剩i个,再网上推算,能否被m整除……(最后有一个测试用例没过,仔细想来应该是m=9时,溢出了,因为楼主是先乘后除的,所以问题应该出在这,以后牢记经验了)。  回来后,差了一下猴子分桃这个经典案例,这位大神博客中有写得比较详细和巧妙:http://blog.csdn.net/hackbuteer1/article/details/6914395 经验教训:  要注意大数问题,像这种情况,longlong比较保险一点,另外,做乘除时,能先除的先除,乘放在后面,避免溢出问题!!!!! 2、自动售货系统  题目太长了,直接上图好了 答题思路:  题目很长,

4、但不算难,捋顺了逻辑就好了。楼主后面也有一个测试用例没过,真是伤感。猜测了一下,应该是当输入太长了,自动换行时没有读全……经验教训:  以后做题时一定要好好考虑边界、异常等比较全面的测试用例!!!!华为机试题汇总作者: 刘鹏举写在前面的话:由于最近准备华为机试,所以在网上找了一些资料,所以以下内容均摘自互联网,现整理一下以供各位找工作的战友参考。肯定不会遇到原题,就当练练手了。第一题:数组比较:• 问题描述: 比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数比如:数

5、组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3• 要求实现函数: int array_compare(int len1, int array1[], int len2, int array2[])【输入】 int len1:输入被比较数组1的元素个数;int array1[]:输入被比较数组1;int len2:输入被比较数组2的元素个数;int array2[]:输入被比较数组2;【输出】 无 【返回】 不相等元素的个数,类型为int• 示例 1) 输入:

6、int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5函数返回:02) 输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5,7},int len2 = 6函数返回:3第二题:约瑟夫环(学软件的这个都应该知道)• 问题描述: 输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从

7、下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值出列的顺序比如: 输入的随机数列为:3,1,2,4,初始计数值m=7,从数列首位置开始计数(数值3所在位置)第一轮计数出列数字为2,计数值更新m=2,出列后数列为3,1,4,从数值4所在位置从新开始计数第二轮计数出列数字为3,计数值更新m=3,出列后数列为1,4,从数值1所在位置开始计数第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。