3.10百度笔试

补:第二题不是n的阶乘,是n的∑求和
1.将一个数组分成k份,要求每一份的平均值和最小
思路:排序,然后将前k-1个最小的单独分组,将剩下的分为一组
2.求一个由r e d三个字符组合的字符串,要求得有k个回文子串,例如red就有三个回文子串

思路:三个字符串不管怎么排最短的一定是一堆相同字符,比如要求3个的话就是rr就是最短,
然后又知道n个相同字符的回文子串是n!个

所以先去排x个r保证 x的阶乘恰好小于等于k,然后再排y个e 保证y的阶乘恰好小于等于k-x!
同理排z个d,保证z恰好小于k-x!-y!,最后剩下的个数就用red循环来补就是了

第三题:小红写了一堆方法,有些方法是重载有效,有些冲突无效,比如输入
int f() 
int f(int x)
int f(int y) 
输出yes yes no
思路:定义Function类,里面有返回类型,方法名字,一个hashmap记录着参数类型和其数量,然后自己写个比较方法equal 如果名字相同并且hashmap的大小相同,并且每个键值对都相同那么冲突(其实好像不用记录返回类型)
然后就是挨个查有没有跟成功队列的方法冲突的,如果没有就放入成功队列里面去
第三题有没有更好的思路的,我不知道怎么比较才更快,就只有每次比较时遍历成功队列取出每一条方法进行比较,感觉有点呆
感觉最近运气不是很好,每个厂的终面都暴死,攒攒运气吧

全部评论
分离出方法名和参数类型名,用方法名+参数列表类型名作为key丢到一个HashSet里面就可以吧
1 回复 分享
发布于 2023-04-10 21:43 浙江
第一题按照你的思路通过率0%啊
1 回复 分享
发布于 2023-04-10 22:17 江苏
不知道为什么和你一样的思路,只能A60%
1 回复 分享
发布于 2023-04-10 22:45 安徽
第一题一样的思路第一题一样的思路用JAVA写只过了30%,然后剩余的超时了
1 回复 分享
发布于 2023-04-10 23:06 江苏
mark下是4/10,问下第一题这个思路怎么保证每个子序列不含重复值啊
点赞 回复 分享
发布于 2023-04-10 22:58 上海
n个相同字符的回文子串是n!阶乘吗?不是n∑求和吗
点赞 回复 分享
发布于 2023-04-11 12:04 上海
第一题这种思路怎么证明是对的呀
点赞 回复 分享
发布于 2023-04-11 14:57 江苏

相关推荐

10-16 21:26
门头沟学院 C++
华诺星空 信号处理 总包25w 硕士985
点赞 评论 收藏
分享
评论
2
10
分享
牛客网
牛客企业服务