给定具有整数坐标的N个点,找到平行线的数量

时间:2014-10-08 07:27:35

标签: algorithm geometry

  1. nC2将给出我们可以用O(n ^ 2)复杂度形成的行数。
  2. 以O(n ^ 2)复杂度查找这些线的斜率并将它们存储在一个数组中,比如x。
  3. 按O(n ^ 2 logn)复杂度排序x。
  4. 在O(n ^ 2)时间内搜索平行线。
  5. 我们可以做得更好吗?

    如果我必须找到任何两条线是否平行且是什么呢?我们可以在不找到所有线的情况下这样做吗?

1 个答案:

答案 0 :(得分:1)

由于坐标是整数,您可以使用哈希表来存储N²斜率;将它们表示为不可简化的分数。这应该将搜索相等的值限制为O(N²)。