最近对问题

1.问题

在平面内,找出欧几里得距离最小的值。

2.解析

暴力求解的复杂度为O(n^2),所以我们可以利用分治的思想,降低时间复杂度。

将所有的点都按照一个顺序去进行排序,然后这所有的点分成两部分。

求的左边的最小值,和右边的最小值,当然有时候最小值出现在两侧

令ans=min(ans(left),ans(right))

中间的则只需要计算[mid-ans,mid+ans]之间的所有点暴力的去求最小值即可。

3.设计

 

 

4.分析

时间复杂度O(n*log(n))空间复杂度O(n)

5.源码

Github

 

posted @ 2021-04-12 15:15  passawayy  阅读(73)  评论(0)    收藏  举报