快捷搜索: 王者荣耀 脱发

【华为机考】2022年华为研发人员在线笔试

1、可能关注的事项

  1. 可以使用本地IDE,建议提前用eclipseidea建一个空项目。
  2. 我做的三道算法题都不算难,在牛客网上的华为题库里,如果你做中等难度的题没有什么大问题的话,基本上都可以做出来,最多是优化内存和运算时间的问题。

2、算法题

  1. 字符串处理 给定一个常数k,和一个字符串s,s中含有一个及以上的‘-’,以此来连接各个子串。现对除了第一个子串之外的其他子串进行重新划分,每k个字符作为一个子串,使用‘-’连接,同时子串需满足一下条件: 子串中若大写字母数量大于小写字母数量,则全部转换为大写;若大写字母数量小于小写字母数量,则全部转换为小写;若大写字母数量等于小写字母数量,则不变。 若子串长度不足k,则剩下的字符组成一个子串。
输入:第一行为给定常数k,指定子串长度,第二行输入为字符串s。
3
124asd-ABCabc-abCABc@
输出:经过处理后的字符串,子串使用-连接,不足k长度的子串可作为最后一个子串。
124asd-ABC-abc-abc-ABC-@
  1. 字符串处理 给定一个字符串s,并且s头尾相连。s中含有若干个字符‘o’,现求s所有子串中,含偶数个字符‘o’的最大长度。
输入:可能含有多行输入,每行输入均为需进行运算的字符串s。
aboloso
ccccccc
输出:含有偶数个字符o的最大长度子串
6
7
  1. 路径分析 两人约定一同前往若干地点,但因地形因素制约,有些地点无法同时到达,现需求出给定的目标地点中,两人都可以到达的个数。
输入:第一行的两个输入为地图的大小,下面的输入为地图的内容(0为无障碍可同行区域,1为障碍地形,
2为两人的位置,有且仅有两个,3为目标地点)。
4 4
2 1 0 3
0 1 2 1
0 3 0 0
0 0 0 0
输出:两人均可到达的地点的个数。
2

3、总结

三个题目都不难,基本上在牛客网的算法题库中算中等难度到简单难度,我并非科班出身,也没有经过系统的算法学习培训,所以我的答案就不列出来了(绝不是因为考完了就删掉了)。 个人感觉华为很注重字符串处理这样的题型,多看看相关的算法题可能会很有帮助。

经验分享 程序员 微信小程序 职场和发展