得物笔试复盘
上次得物面试挂了之后,又投递一个岗位结果还得笔试,不过笔试题目相对容易很多
20道选择题,里面有单选也有多选
3道编程题,只能选java写
编程题1:首先,对每组整数数组先分割出若干个 “元素依次递减 1” 的连续段,再判断这些连续段是否能按 “后一段的起始元素(即段内最大值)等于前一段的结束元素(即段内最小值)加 1” 的规则衔接,最后就输出每组数据是否满足该条件的结果(“yes” 或 “no”)
编程题2:首先,通过预先计算字符串 s 中每个位置后各字符首次出现的位置,遍历 s 中与字符串 t 首字符匹配的位置,接下来检查能否按顺序匹配 t 的所有字符,从而找到 s 中包含 t 作为子序列的最短子串,计算并输出该子串中需要删除的字符数量(即子串长度与 t 长度的差值),若无法匹配则输出 - 1。刚开始就通过18%,后面优化一下代码结构,过了
编程题3:先通过计算每个糖罐中 a [i] 与 b [i] 的差值数组 c,然后,利用前缀和与哈希表记录前缀和出现次数的方式,统计出数组 c 中所有和为 m 的子数组的数量,最后,得到满足条件的区间个数
#发面经攒人品#