gpt4 book ai didi

algorithm - 计算给定线的交点数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:44:11 24 4
gpt4 key购买 nike

我正在准备谷歌的电话面试,遇到了这个问题:

给定二维空间中的线列表,如何在小于 O(n^2) 的时间内计算交点数?

他们说面试者给出了一个 O(n^2) 的解决方案,然后面试官问他是否可以想出更好的解决方案。

谢谢。

最佳答案

二维中的两条线要么相交一次,要么平行。如果没有直线平行,则有 n*(n-1)/2 个交点。 O(n log n) 解决方案是按斜率对线进行排序,然后扫描平行度,为找到的每组 m 条平行线减去 m*(m-1)/2。

当然,这忽略了浮点舍入的任何实际问题,但我假设如果需要考虑,问题中会提到这一点。

关于algorithm - 计算给定线的交点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com