今天华为的机试题明显变难了,而且和往年的不一样了,准备了前些年的题目,但是今年的做起来很不习惯。机试时可以上网,但是搜不到原题。最后的机试分数300分,只做了第一题和第二题。
如果你想去华为,早早准备,多刷刷华为的OJ (华为在线训练与测试平台)
http://career-oj.huawei.com/exam/camLogin.jsp
这个是考试规则:
初级题目(第一题):
中级题目(第二题):
高级题目(第三题):
以下是别的同学抽到的题目(不全):
还有一个高级题目:
求最大凸多边形
描述: 输入一系列笛卡尔平面坐标系上的坐标点,从中找出部分点,使得这些点连成的封闭多边形,是所有这些点能够围成多边形中的最大的凸多边形。
运行时间限制: 无限制
内存限制: 无限制
输入: 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
* */