9.22烽火笔试

A了前两道,第三道远航,应该是个BFS,但是没时间了,前面两道花的时间有点长,因为没考虑全,所以一开始都没AC,简单说一下前两道题和思路吧!
第一道,判断一个数是不是超偶数,超偶数就是说每一位都是偶数。
解题思路:思路很简单就是判断每一位是不是偶数,但是要注意的是,位数太长,不可以用数来接受,用字符串接受输入,然后再遍历判断每一位是不是偶数就可以了!

第二道,你有两个仅包含小写字母的字符串S1,S2。你可以对这两个串内部任意排列。设排列之后的两个串分别为S1’,S2’ ,然后你会将S2’,拼接在S1’后面,形成一个新的串,设为T。
你的目标是使得T为回文串。回文串是指这个字符串从左到右读和从右到左读都一样,比如a,abcba,abba都是回文串,而bc, opqo,abcb都不是。
你想知道你的目标是否可以达成。

解题思路:
这个题迷惑性很大,我一开始就是用哈希表就直接统计两个字符串中字符的次数,只要是奇数次数不大于1个就行,但是只A了18%。后来发现如果aaabbbcc和ab也不行,所以这个思路不对!!
换一个思路,先用短的字符串去匹配长的字符串,如果没有完全匹配成功,就直接 false,提取出剩余的部分,在判断这个可不可以成为一个回文串就可以了。
就是用一个哈希表记录短字符串的字母出现次数,定义一个剩余串,然后遍历长的字符串,判断是不是哈希表中有,有的话哈希表对应次数减一,如果没有也就是哈希表次数为0,就放入到剩余串中,遍历完之后,再遍历一边哈希,看看还有没有不是0的,如果有就说明有没有匹配的,所以肯定不能拼成回文串,如果都是0,那就看看剩余串可不可以是回文的,判断方法就和第一个思路一样了,就A掉了
第三题,远航,没时间了,一看也麻烦,需要各种条件判断还需要BFS,没时间做了😂,也忘了骗骗分了😂
全部评论
第三题没考虑无限大,直接dfs过了18😢
1 回复 分享
发布于 2023-09-23 14:31 江苏
俺和你一模一样
点赞 回复 分享
发布于 2023-09-22 22:13 江苏
第三道题是Magic Ship
点赞 回复 分享
发布于 2023-09-23 00:53 海南
第二题老哥的思路明白了,我也是查找长的字符串里是否完全含有短的,没有就输出NO,有的话就删除对应字符,看剩下的是不是能形成一个回文,但是还是只过了18%。顺便问一下老哥,你举得例子aaabbbcc和ab我觉得应该也是可以形成回文串的吧,比如ababccbaba,不知道我是不是理解错了这个题目的意思
点赞 回复 分享
发布于 2023-09-26 21:51 辽宁

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
评论
3
16
分享

创作者周榜

更多
牛客网
牛客企业服务