【华为机考】2022年华为研发人员在线笔试
1、可能关注的事项
- 可以使用本地IDE,建议提前用eclipseidea建一个空项目。
- 我做的三道算法题都不算难,在牛客网上的华为题库里,如果你做中等难度的题没有什么大问题的话,基本上都可以做出来,最多是优化内存和运算时间的问题。
2、算法题
- 字符串处理 给定一个常数k,和一个字符串s,s中含有一个及以上的‘-’,以此来连接各个子串。现对除了第一个子串之外的其他子串进行重新划分,每k个字符作为一个子串,使用‘-’连接,同时子串需满足一下条件: 子串中若大写字母数量大于小写字母数量,则全部转换为大写;若大写字母数量小于小写字母数量,则全部转换为小写;若大写字母数量等于小写字母数量,则不变。 若子串长度不足k,则剩下的字符组成一个子串。
输入:第一行为给定常数k,指定子串长度,第二行输入为字符串s。 3 124asd-ABCabc-abCABc@
输出:经过处理后的字符串,子串使用-连接,不足k长度的子串可作为最后一个子串。 124asd-ABC-abc-abc-ABC-@
- 字符串处理 给定一个字符串s,并且s头尾相连。s中含有若干个字符‘o’,现求s所有子串中,含偶数个字符‘o’的最大长度。
输入:可能含有多行输入,每行输入均为需进行运算的字符串s。 aboloso ccccccc
输出:含有偶数个字符o的最大长度子串 6 7
- 路径分析 两人约定一同前往若干地点,但因地形因素制约,有些地点无法同时到达,现需求出给定的目标地点中,两人都可以到达的个数。
输入:第一行的两个输入为地图的大小,下面的输入为地图的内容(0为无障碍可同行区域,1为障碍地形, 2为两人的位置,有且仅有两个,3为目标地点)。 4 4 2 1 0 3 0 1 2 1 0 3 0 0 0 0 0 0
输出:两人均可到达的地点的个数。 2
3、总结
三个题目都不难,基本上在牛客网的算法题库中算中等难度到简单难度,我并非科班出身,也没有经过系统的算法学习培训,所以我的答案就不列出来了(绝不是因为考完了就删掉了)。 个人感觉华为很注重字符串处理这样的题型,多看看相关的算法题可能会很有帮助。
上一篇:
Java基础知识总结(2021版)
下一篇:
华为机试(C语言开发)