链家校招面试(c++开发)

来源:互联网 发布:二维码生成算法 c语言 编辑:程序博客网 时间:2024/06/18 13:03

链家是过去先做笔试,一个小时5道题,3道要求写出代码,两道给出思路即可。

  1. 给定一个整数数组a和一个整数M,找出所有满足M = a[i] + a[j]的情况,输出下标 i 和 j;

  2. 找出二叉树中两个节点的最低公共祖先节点;

  3. 一个袋子中有n个小球,每个球都有编号,重复编号的球视为相同的,定义一个袋子为幸运的当且仅当这个袋子中所有小球编号之和大于之积。例如{1,1,2,3},1+1+2+3 >1*1*2*3。现在要求从袋子中取出m个小球,m大于等于0,小于n。求有多少种取法,能够使袋子是幸运的。

  4. IP地址段映射(吐槽:给的函数原型中,IP地址的参数类型居然是int);

  5. 编译器中undo和redo的操作是怎么实现的,给出数据结构和实现代码。

感觉答得其实很一般,二叉树那道刚开始完全没思路,到一面的时候面试官给了提醒,才大概想出来。小球那个题直接用的暴力求解法,时间复杂度O(n^2),最后才发现暴力法好像做不了。地址映射被int类型搞蒙了,没想出来IP地址怎么变成int型的。其实就第一题和最后一题答出来了。想着基本就可以走了,没想到后面居然又面了两面,有点惊讶。看来面试果真是实力和运气的结合啊。

原创粉丝点击