Redian新闻
>
Google onsite面经题求解答
avatar
Google onsite面经题求解答# JobHunting - 待字闺中
m*r
1
class Point{
int x;
int y;
etc
}
Set setA, Set setB
对setA中的每个点i,在setB中寻找离i最近的点。
貌似是经典题?
我只知道暴力解,两个for循环扫一遍 O(n^2), n 为两个set的size
求问高人,有更优解不?
多谢
avatar
g*j
2
排序 然后 俩指针

【在 m********r 的大作中提到】
: class Point{
: int x;
: int y;
: etc
: }
: Set setA, Set setB
: 对setA中的每个点i,在setB中寻找离i最近的点。
: 貌似是经典题?
: 我只知道暴力解,两个for循环扫一遍 O(n^2), n 为两个set的size
: 求问高人,有更优解不?

avatar
M*6
3
kd-tree吧。把B里的点建个树,然后A里的点再查询的时候,就相当于二分搜索了
avatar
m*r
4
kd树的定义看了半天才看懂。。。
确实能优化解决这道题。
不过面试中follow up被问到这种题,面试官几乎也不期望写code了吧

【在 M***6 的大作中提到】
: kd-tree吧。把B里的点建个树,然后A里的点再查询的时候,就相当于二分搜索了
avatar
m*r
5
您能详细讲解一下么?
排序都不知道该按什么排?

【在 g***j 的大作中提到】
: 排序 然后 俩指针
avatar
r*r
6
Mark先
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。