9.11 得物笔试
#得物校招求职汇总# 1.是否能组成三角形,还有是否相似,签到题
2.四个数的最小公约数,我的思路是两个两个找最大公约数,然后再找两个最大公约数的最大公约数,然后再对最后这个数看能否被从2开始的数整除,过了90.9%,剩下的显示运行超时;有佬有更快的方式吗?
3.彩纸包礼物,弄了俩优先队列,降序排列,然后每个纸和礼物计算需要的最小的k,遍历完队列得到k值,提交直接0,哈哈哈
2.四个数的最小公约数,我的思路是两个两个找最大公约数,然后再找两个最大公约数的最大公约数,然后再对最后这个数看能否被从2开始的数整除,过了90.9%,剩下的显示运行超时;有佬有更快的方式吗?
3.彩纸包礼物,弄了俩优先队列,降序排列,然后每个纸和礼物计算需要的最小的k,遍历完队列得到k值,提交直接0,哈哈哈
全部评论
最后一题,按道理贪心做没问题,就是不知道为什么是错的
最后一题不知道为什么一直是0通过,自己输入测试用例按照题目理解输出是对的,结果还是显示答案错误
第二题第二次判断最小公约数的时候可以直接循环到最大公约数的sqrt,时间能过。但是我第一题相似A不了不知道为什么
第二题N=min(a,b,c,d),然后k遍历1-根号N,用k和N/k对a b c d做取余,找最小值就行,第三题做了一个半小时没做出来好烦😂
我第二题和你们都不一样,我的是建树的一道题
第二题从2遍历到sqrt(max_value),找到就break,时间不会超,不知道为什么只能过27%
T3,是二分加multiset,其实也就是两次二分。首先k是不能变化的,然后nlogn复杂度去求这个k是否满足。首先说一下k为什么不能变化,我们按宽优先排序后,倒序看是否能包装,这个过程中高就放一个set里面了,我们要拿出来最小的一个给当前礼物用,然后这个set里面的数是不能变化的,如果变化就会出现先拿了一个最小的数,但是后面k变大,有更小的包装纸可以满足包这个礼物了。当k不变的话,我们就能确定使用的包装纸是哪一个。找的话是二分找,也就是cpp的multiset。整体复杂度是n*logn*logn。
第二题,直接调math的gcd,两个两个求,结果为1就返回-1,结果可以被二除就返回2,否则直接返回结果
相关推荐