猿系列鄙视


文章目录

  • 2020-0822的笔试题第一道编程题
  • 猿辅导2020校招笔试(一)
    • 1
    • 2
    • 3
    • 4
    • 先序中序求后序,太简单。
    • 6
    • canci
  • 猿辅导2020校招笔试(算法岗二)
    • 报道的
    • 第二道题太难了
    • 角色分组
    • canci

2020-0822的笔试题第一道编程题
  • 打印完全二叉树的边界节点!!!
//#include#include #include #include #include #include using namespace std; void print(int A[], int len) { int i = 0; while (i < len) { cout << A[i] << " "; i = 2 * i + 1; } i = (i - 1) / 2; //最后一层的第一个的索引。 int prev_start = (i - 1) / 2; int prev_end = i - 1; i++; while (i < len) { cout << A[i] << " "; i++; } for (int j = prev_start; j <= prev_end; j++) if (2 * j + 1 >= len) cout << A[j]<<" "; int j; if (2 * prev_end + 1 >= len) j = (prev_end - 2) / 2; else j = prev_end; //上面是判断一下倒数第二层的prev_end有没有被打印啊!! while (j >= 2) { cout << A[j] << " "; j = (j - 2) / 2; } }int main() { int N; cin >> N; int* A = new int[N]; for (int i = 0; i < N; i++) cin >> A[i]; print(A, N); return 0; }

猿辅导2020校招笔试(一) 1 猿系列鄙视
文章图片
  • 一看0x64
  • 它和一个数字&
  • 最后两bit必然是00
  • 所以fun2最后两bit肯定是00
  • 答案就是0啊,这么简单!
2 猿系列鄙视
文章图片
卧槽,Prim算法复杂度居然低于 n l o g n nlogn nlogn
3
  • 小猿发明了一款支持随机访问且断电丢失的存储系统,
  • 读写速度和寄存器相同,
  • 存储大小和磁盘相当。
  • 用这款存储系统的计算机设计操作系统“猿力”。
  • 不考虑经济成本,正确的是:
猿系列鄙视
文章图片
【猿系列鄙视】为啥不要虚拟内存啊,虚拟内存不是让进程隔离啊,更安全呢。
  • 这题目有疑问哦
4
  • 一个全加器对两路一位数字信号的加法,
  • 输入为两路一位信号I1,I2,
  • 输出为一路两位信号O(含进位)
  • 一路任意的3位数字信号X作为输入,要求输出Y=X*5,
    • 最少需要几个全加器?
  • X 左移动两位再(变成5位了)
  • 加上自己
猿系列鄙视
文章图片
先序中序求后序,太简单。 6
  • UDP的说法中正确的是:
猿系列鄙视
文章图片
  • UDP和TCP均属传输层协议
  • UDP无连接,不存在建立连接需要的时延。
    • 空间上,TCP需要在端系统中维护连接状态,需要一定的开销。
    • 此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号的参数。
    • UDP不维护连接状态,也不跟踪这些参数,开销小。空间和时间上都有优势。
  • C:如果接收方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程0,),就丢弃该报文,并由ICMP发送“端口不可达”差错报文给对方
  • D:UDP常用一次性传输比较少量数据的网络应用,如DNS,SNMP等,因为对于这些应用,若是采用TCP,为连接的创建,维护和拆除带来不小的开销
    • UDP也常用于(如IP电话,实时视频会议,流媒体等)
    • 数据的可靠传输对他们而言并不重要,
    • TCP的拥塞控制会使他们有较大的延迟,也是不可容忍
canci
  • 添加链接描述
猿辅导2020校招笔试(算法岗二) 报道的 看链接
  • 添加链接描述
第二道题太难了 角色分组 猿系列鄙视
文章图片
  • 一开始,我以为就是取里面三个最大的
    • 比如 4,5,6
    • 这样就禅城4个小组!
  • 其实不是这样的,你得这样:4,5,6
    • 先产生一个组
    • 然后再把3,4,5插进队列里面
    • 然后重新找最大的三个
  • 哎,这题目真是男啊!
#include #include #include #include #include using namespace std; int solver(priority_queue& a) { int result = 0; int len = a.size(); while (a.size() >= 3) { int temp1 = a.top(); //最大的 a.pop(); //cout << temp1< 1) a.push(temp1-1); if (temp2 > 1) a.push(temp2 - 1); if (temp3 > 1) a.push(temp3 - 1); } return result; }intmain() { int C; cin >> C; for (int i = 0; i < C; i++) { int size; cin >> size; priority_queue a ; for (int j = 0; j < size; j++) { int temp; cin >> temp; a.push(temp); } cout << solver(a) << endl; } }

canci
  • 添加链接描述

    推荐阅读