表示今年华为的上机题是在牛客网上进行的。难度较往年来说降低了几个档次,可能是实习生招聘的要求不是那么高。之前一直在刷华为武研所的OJ,总体而言今年实习生的上机题水平与OJ上的简单题一致。
离上机已经过了差不多半个月了,跟我想象的题目大相径庭,没有dp,没有图。我们这一批考了三道题,一道大数相加,一道模拟题,还有一道字符串处理。下面是我根据回忆还原出的题目,因为具体代码不是太难,这里不再献丑,只说出大致思路。
1、数字加1
输入一个数,输出该数加上1之后的结果。
这里主要考虑到输入的数可能是大数,只要按照大数相加进行处理即可。听说python和java直接有大数这个类,我比较喜欢用C语言,于是便使用字符数组来完成这道题。
2、转动骰子
一个立方体骰子平放在桌面上,有一面正对着读者,称为前面。我们将六个面分别称为左、右、前、后、上、下,每个面对应的数字分别为1、2、3、4、5、6。我们定义以下操作:向前滚动称为F,向后滚动称为B,向左滚动称为L,向右滚动称为R,上下面不变顺时针旋转称为C,上下面不变逆时针旋转称为U。在原始状态情况下,输入对应的操作码,输出最终的骰子状态(按照每个面的顺序左右前后上下)。
觉得难度倒是不大主要是细心,建议在草稿纸上先模拟。
3.单词倒序
输入一个英文句子,将句子的单词倒序输出。例如输入:it is a blue sky,输出sky blue a is it。
表示这次被fgets给坑了,它把回车换行符给吃了,然后输出的时候会莫名其妙的多了个回车换行。这道题其实可以直接每次单词入栈,然后输出即可。
大致就是这些。其实个人觉得华为的心理测评是真正的难点所在..._(:зゝ∠)_