欢乐互娱——C++服务器开发一面——一面挂
1. 自我介绍
2. 一个数列,三个操作,添加一个数,删除一个数,求平均数,如何高效实现?
map维护添加删除, 删除增加时,动态维护数列和跟数列元素个数。
3. memcpy 如何实现
两个指针 *p1 = *p2 这样子
4. 你刚说的方法会有问题,有什么问题?
不知道
5. 假设p1和p2的内存地址有重叠该怎么办?
如下,从前往后复制的话,会出错
p1: _______========
p2: =========
如下,从后往前的话,会出错
p1: =========
p2: _______========
所以只需要特判这两种情况,之后第一种情况从后往前,之后第二种情况从前往后就好了。
6. 两个矩形(与坐标轴平行),怎么判断相交?
一开始答的是,四个点在另一个里面就行了。但是给了一个十字的反例。之后想到就用两个矩阵的x区间和y区间是否都有交集就行了。
7. 有向图怎么判断
拓扑排序。
8. 用搜索怎么判断?
这个答得不好...说成是无向图的了。其实就是复述一下scc是怎么工作的就行了。
反馈很快。面完一下子就告诉我挂了。www 我只是个菜狗罢了、、、