百度暑期实习 3.13日笔试
1. 第一题是找可能的排列组合组成 “Baidu”:比如 "baidu","aBeisd" 等
回溯过了 41%,超时了,也不知道为啥,已经加上used数组防止重复了,并且找到就返回
2. 第二题是构建回文串 用 “r”“e ” “d” 构建回文字串
用了模拟的方法,过了20%(感觉都没问题啊)
3.第三题题目没读懂
有没有大佬懂得指点一二
回溯过了 41%,超时了,也不知道为啥,已经加上used数组防止重复了,并且找到就返回
2. 第二题是构建回文串 用 “r”“e ” “d” 构建回文字串
用了模拟的方法,过了20%(感觉都没问题啊)
3.第三题题目没读懂
有没有大佬懂得指点一二
全部评论
https://www.nowcoder.com/discuss/464898663190405120?sourceSSR=users
第一题 emm 首先判断字符串长度是否为5,然后"build"字符串排个序,再和排序后的输入的字符串比较就可以了
兄弟我和你连通过率都一模一样
只A了第一道
俺也一样,第一题45% 第二题10%+ 第三题不会。第一题map和数组两种方法都试了还是不能ac,第二题也没理解为什么只有一点通过率
第一题直接用map
第二题先重复的r,再重复的e,d,还没满的话就加"red"
第三题我没写出来,室友a了,他是以0为根节点,找到每个节点的父节点和子节点,统计每个子节点的连通块数量
第一题直接char数组排序
第二题主要问题在于,输入的n最大可以到10^9,但是要求输出最长的字符串小于10^5。
那么就不能是简单的模拟,你可以考虑一下连续同一个字母比如rrrrr可以行程15个回文字串,rrrrrr可以形成21个回文子串。你可以想想如何尽可能地构造由只同一个字母的字符串,这样的话,长度增长的很慢,但是构造的回文字串增速却很快。这个题我100%了,第三题测试用例过了,但是超时了。
第一题直接sort,然后判断是不是等于就过了,哈哈哈。
相关推荐
10-08 00:57
门头沟学院 Java 点赞 评论 收藏
分享