亚马逊笔试补测20210831

亚马逊笔试补测20210831

  1. 定义sum_free集合为:集合内任意两数之和不存在集合中(包括自身+自身)。给定整数N,代表集合S = {1,2,3,...,N}. 找出集合S中所有的sum_free_set,并把长度最长的sum_free_set的元素加在一起,作为输出。

    # 例 N = 3
    S = {1,2,3}
    子集:{},{1},{2},{3}, {1,2}, {2,3}, {1,3}, {1,2,3}
    sum_free_set: {},{1},{2},{3}, {2,3}
    {1,2}: 1+1=2 所以不是 sum_free_set
    {1,2,3}: 1+2=3 所以不是 sum_free_set
    输出:{2,3} + {1,3} = 9
    思路:使用深度优先搜索(集合里每个数选或不选)。使用字典 d,key 为某个 sum_free_set 的长度,value 为长度为 x 的所有 sum_free_set 的和。在 dfs 的过程中,记录最大长度 maxx,搜索结束后返回 d[maxx].
  2. 定义magic number: n为:某个product可以整除n^2。给定集合S={2,3,6},计算集合的乘积product = 36,找出针对product的最小magic number: 2.

   # 思路:构建字典 d,键为某个质因数,值为该质因数出现次数。对集合 S 里的每个数进行质因数分解,统计到字典 d 中。统计结束后,对 l = d.keys() 进行排序,然后遍历d[l[i]],若次数>1,则输出l[i].

   def find_prime_factors(n):
       i = 2
       prime_factors = []
       while i * i <= n:
           if n % i:
               i += 1
           else:
               n //= i
               prime_factors.append(i)
       if n > 1:
           prime_factors.append(n)
       return prime_factors


   def find_least_magic(nums):
       from collections import defaultdict
       d = defaultdict(int)
       for n in nums:
           for pf in find_prime_factors(n):
               d[pf] += 1
       keys = sorted(d.keys())
       for k in keys:
           if d[k] > 1:
               return k
  1. 根据依赖关系构建树,进行广度优先搜索(层序遍历),找出和最大的那一层,输出该和。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务