一:鲜花和雕像
在2D的矩阵上,某些坐标有鲜花(F),某些坐标又雕像(S)。其余的坐标是空白的(O)
例:
OOFOO
OOSOO
FFOFF
SOOOF
OFOOO
雕像会挡住这个方向的鲜花, 问:在每一个空白位置上,朝四个方向看,一共能看到几朵鲜花。
在这个例子里:在左下角的空白,朝上被雕像挡住,朝右右1朵鲜花,一共1朵
在正中间的空白,上0,左2,右2,下0,一共4朵
输出一个2d矩阵
follow up:
- 写test case,conrer case.
- 如果矩阵很大,不能一次性读入内存怎么办。假设矩阵是稀疏的(鲜花和雕像很少)
二.自行车
2D平面上,有m个人(P),n辆自行车(B),还有空白(O)满足以下条件
1.m < n
2.不存在两个人,到同一辆自行车距离相等, 距离用abs(x1-x2) + abs(y1-y2)定义
3.每个人尽量找离自己最近的自行车,一旦某辆自行车被占,其他人只能找别的自行车。
例
OPOBOOP
OOOOOOO
OOOOOOO
OOOOOOO
BOOBOOB
红色的人找到第一行的自行车,距离最近。
蓝色的人离第一行自行车最近,但自行车已经被红色人占有,所以他只能找离他第二近的,右下角的自行车。
问:把人和自行车配对,输出vector<pair<int, int>>每个人对应的自行车. {i, j} 是人i对应自行车j
其他几轮都是地里的面经高频题,我就不重复啦,祝大家好运~都能收到offer