美团c++一面
自我介绍
项目相关问题
手撕算法题
1合并n个大小为k有序数组
1,1使用优先队列,每次取最小值进行合并。o(k*Nlogn)
有啥可以优化
1.2可以使用归并的方法,第一条序列和第二条序列进行合并,3和4,,,,。虽然算法复杂度没变,但是分治可以使用多线程
2有一个行政区域的类,代表一个区域,有两个函数可以判断包含关系比如中国包含北京,也可以判断一个点是否属于这个行政区域。
class area{ bool include(area &b); bool include(point &b); };
class point{};
vector<area>areaofword;
areaofword包含全球所有行政区域,实现一个函数给你一个点point,返回包含它的最小行政区域。