10/14 华为OD机试题
笔试前也看过很多大佬分享的机试题目,今天考完也给大家分享一下。
1.求最长目标子序列长度,输入逗号分隔的数,再输入目标值,求子序列和等于目标值的最长长度,如果不存在打印-1.
例子:
输入 1,2,3,3,5
6
符合目标的子序列有 {1,2,3} 和 {3,3} 最长长度为3
滑动窗口即可
2. 输入一组数组。必定从第一位开始出发,出发可以选择的跳跃长度为1 <= N < len/2(len为数组长度),之后的每个位置只能跳跃该位置上指定的距离数。输出能正好到达结尾的最短跳跃数。
例子:8 9 3 2 4 2 2 3 4 5 6
最短跳跃数为2,第一次跳跃到9,第二次9之后的9个位置正好是结尾6。
直接模拟就好。
3. 模拟输入法,第三题果然是阅读理解。。具体题目太长了表达不清晰。如果有其他人碰到原题的话可以评论区直接发出来。 我的思路的话先用map存储下每个数字对应的字符数组,然后进行情况分类的模拟,要考虑的情况挺多的,但是题目本身没什么难度。
从投简历反应来看 非目标院校感觉进华为OD基本无缘。纯当锻炼了这次。
#华为OD机考#