华为机试(3.31)

机试前两题题目如图。
第三题是找匹配目标字符串的最短步数,可以向左移动一步、向右移动一步或者不移动,到字符串最左时可以向左移动一位到字符串最右,到字符串最右时可以向右移动一位到字符串最左。
输入:第一行给一个字符串,eg.abcde。第二行是目标字符串,eg.abe。第三行是起始位置,eg.0。输出:3.(匹配a时不动,步数为0.匹配b时向右一步,步数+1.匹配e时,向左两步,步数+2).
第二题怎么都是10%,求一个AC的Java代码。第三题也一直是55%,同求AC代码!😇😇😇


#笔试题目##华为#
全部评论
第二题有0的情况,考虑了之后变成50%了。。。之后真不知道还有啥case了
点赞 回复
分享
发布于 2021-04-01 00:14
第二题的输入应该有很多种情况 ①[],表示输入为空,直接输出0 ②[1, 2, 3],逗号后面有空格!! ③[1 ,2 ,3],逗号前面有空格?? ④[1,2,3],没有空格!!! 我是用python3.9做的,首先得到读进来的字符串string,然后切片去掉"["和"]",string=string[1:-1],接着string=string. replace(" ",""),最后map(int,string.split(sep=","))就可以了,最后终于ac100
点赞 回复
分享
发布于 2021-04-01 01:05
联想
校招火热招聘中
官网直投
我第二题JAVA AC了,遇到了几个问题,希望对您有所参考 1. 数据之间有的是  逗号 + 空格 分割,有的是 逗号分割 2. 可能有人看到了 0 个帽子与自己一样 3. 判断空输入 用 equals 不能 == (这个是我太菜了,忘了) 4. 如果恰好 不需要 数组 以外 的人员(即 数组内的员工已经可以满足全部约束), 不需要再补员操作 因为我的处理是 统计了 看到数字相同的人数 ,  比如 3 个人 看到了2个人帽子与自己颜色相同,那他们可以归为一组,如果4个人  看到了 2个人与自己 帽子颜色相同,那么 会多出来 1 个 看到2个人与自己帽子颜色一样的员工,需要补员2个人。 我一开始 忘记判断 是否可以 完全分组了, 导致 恰好可以分组的时候,我直接补了 一组的人。😥
点赞 回复
分享
发布于 2021-04-01 08:51
第三题我用动态规划做的
点赞 回复
分享
发布于 2021-04-01 08:54

相关推荐

1 16 评论
分享
牛客网
牛客企业服务