2016华为校招机试题(软件开发)

时间:2022-08-03 18:54:32

今天华为的机试题明显变难了,而且和往年的不一样了,准备了前些年的题目,但是今年的做起来很不习惯。机试时可以上网,但是搜不到原题。最后的机试分数300分,只做了第一题和第二题。



如果你想去华为,早早准备,多刷刷华为的OJ (华为在线训练与测试平台)

http://career-oj.huawei.com/exam/camLogin.jsp


这个是考试规则:


2016华为校招机试题(软件开发)

初级题目(第一题):

2016华为校招机试题(软件开发)

中级题目(第二题):

2016华为校招机试题(软件开发)

高级题目(第三题):

2016华为校招机试题(软件开发)



以下是别的同学抽到的题目(不全):


2016华为校招机试题(软件开发)


还有一个高级题目:


求最大凸多边形 
描述: 输入一系列笛卡尔平面坐标系上的坐标点,从中找出部分点,使得这些点连成的封闭多边形,是所有这些点能够围成多边形中的最大的凸多边形。
 
运行时间限制: 无限制 
内存限制: 无限制 
输入: a) 输入由一行文本组成,第一个是一个整数,表示输入坐标的个数;紧跟其后的是一个英文的分号(;)。然后就是N(第一个整数值)个坐标点,坐标点之间使用英文分号(;)。坐标点的x和y值使用英文逗号(,)分隔。坐标点的取值范围在[-1000,1000],坐标值均是整数;

b) 输入的点的数量最大 65535 个;至少有三个;
 
输出: a)在同一行上输出所有凸多边形的顶点的坐标,坐标值必须是整数;

b)点之间用英文分号字符分隔;行最后的分号必须省略;

c)一个点的x和y坐标之间,用英文逗号字符分隔;

d)如果某个点正好落在凸多边形的边上,则不应该输出该点;

e)以坐标X值排序,从X值最小的点开始,按顺时针方向,依次输出组成最大凸多边形的顶点坐标。

l
 
样例输入: 13;-3,-3;1,3;2,-4;6,1;-2,-2;4,5;1,-2;1,4;-2,3;-4,1;-1,1;2,2;1,-1
 
样例输出: -4,1;-2,3;4,5;6,1;2,-4;-3,-3
 
答案提示: a) 确定第一个顶点;b) 按顺时针方向,寻找下一个点,依次类推;c) 寻找下一个点的条件:穿过当前点的直线按顺时针旋转,碰到的第一个点即为下一个点(与斜率相关)。 

   C++ Java C Python Ruby TCL Perl Lua GO Bash TTCN GCC G++*(请选择您的编程语言,此处为必选项)



/*   初级
输入两个字符串,将第一个字符串中与第二个字符串相同的部分消除,直到第一个字符串中没有与第二个字符串相同的部分为止。

优先消除最靠第一个字符串串首的相同部分。

假定两个字符串不会完全相同。

例如:输入abc121233 123,先消除abc121233,剩余abc123,继续消除后面的123,余下abc。
*/



/*  中级
输入一个长度小于等于256,大于0,且只包含数字的字符串,统计其中出现次数最多数字的个数。
如果有多个数字的最多次数完全相同,输出最小那个数字及次数。

输出该数字及个数做成的字符串,格式:"数字+逗号+个数"。

*/



/*  高级
 * 输入两个超长整型构成的字符串,其间使用一个空格分隔,每个字符串最大长度为100个字符。求第一个整数除以第二个整数以后的余数。
运行时间限制:  无限制
内存限制:  无限制
输入:

输入两个以空格分隔的字符串,输入的每个字符串最大长度是100个字符。
输出:

输出为两个字符串相除以后的余数。如果结果异常,输出null
样例输入:

123456789 23456789

样例输出:

6172844

答案提示:

6172844


 * */