2020笔试日记 loading Apare_xzc

网易笔试(2小时):

4.7

选择题 10道

关于sql查询,计算机网络域名范围,
高度为H, 节点个数为n, n >> h, 的排序二叉树,删除一个节点的复杂度(找到中序遍历的后继,连上去)
其余忘记

编程题 4道

  1. n个城市 n<= 100000, m个操作,开始两两城市都连同,m次操作,每次op(x,y) 若x==0, 表示y封城,否则表示切断x与y的联系,问最早第几次操作后,城市s就处于封城状态

分析后觉得for一遍,维护s的度数即可。但是只得了10分。感觉和二分答案+并查集像,但觉得按照题意就是for一遍…

  1. n个人,m次聚会,每次p个人出席。f号有病毒。聚会的人有病毒都会传染。为最后几个人传染。

并查集

  1. n位整数,进行分割,使得每个子串都能被m整除,求分割方案。 答案对1E9+7取模。

数据范围没给,考官也不回,应该是个dp

  1. 最大20 * 20地图,有K个特殊点。特殊点为B代表障碍。为l代表有激光器向左发射激光,r,u,d同理。激光沿直线前进,遇到其他特殊点停止。问从起点到终点所有路线中,被激光覆盖的点最少的路径覆盖了几个。(相邻的两个点如果都被激光覆盖则不能走)

写了一发带标记剪枝的dfs, 所有测试点均TLE…

问答题 2道

  1. stl::map和stl::unordered_map底层实现的区别,插入,查询元素的复杂度
    红黑树,哈希表,logn, logn O1 O1
  2. (1)给一个50G的节点,每行一个32位整数,找出最大的1000个要伪代码
    (2)节点为2G, 如何优化
    基数排序
    (3)节点为100T,提供了额外200个节点,又该如何优化
    不知

阿里笔试(1小时)

编程题2道

  1. 01串,长度不超过20,翻转,每次相邻的三个可以0变1,1变0, 问能否翻转为全0串。能的话最少翻几次。

贪心即可

  1. 打怪兽,1E5个怪兽,1E5支箭,每个箭有各自的伤害值和花费。 问把所有怪兽都消灭的最小花费。

贪心应该可以

百度笔试(2小时)

选择题20道

数据结构,计网,操作系统,Linux命令,数据库都考。
给定进栈顺序,出栈顺序不可能为
给定中序遍历,后序不可能为
n个数先放到满二叉树中,再调整为堆,中序遍历可能为
记不清了

编程题3道

  1. 给定n,(n<=1000,000), 找一个数对(x,y),满足lcm(x,y) - gcd(x,y)最大,输出这个最大值

输出lcm(n,n-1) - gcd(n,n-1)即可

  1. 博弈论,n堆石子,n<=100,000, 每堆个数 <=1E9, 两人轮流取。若没有石子可取或者取完以后出现了两堆石子个数相同,则输。问先手必胜还是必败

分类讨论一下,可以每次都取最少的那堆,直到取完或者比更少的那堆大1,最后一定得到一个等差数列

  1. 有一个上下高度为h的银河区域,区域上下都有引力,区域中有K(1000000)个行星,也有引力。问横穿过去这个区域,离所有行星以及区域上下的最小距离的最大值。

应该是个二分答案。每次二分最小距离R,然后以每个行星为原点,半径为R画圆,若有路可走,则这个距离可以,check® = true

猜你喜欢

转载自blog.csdn.net/qq_40531479/article/details/105374217