如何解决平面上的n个点-高效扫描并标记它们
输入:n
平面(p1,p2,...,pn)
中不同点的坐标为正,每个点p=(p.x,p.y)
的值为p.val
。
问题:按照上面显示的顺序依次扫描这些点。在此过程中,在迭代1=<i<=n
中,除非事先对其进行标记,否则将标记点pi
。在此迭代(i
中,我们标记了尚未标记的每个点pj
(j!=i
,1=<j<=n
),仅在以下情况下:至少有pj.val
个点已标记为 AND ,其x
坐标低于{{11}} AND 其{{1} }坐标也低于pj.x
。
输出:给出此输入后,请描述一种算法,该算法将为每个点返回在上述过程中对其进行标记的迭代。
复杂度时间要求:该算法必须在y
或更优版本下运行。
我的尝试:我想到了一些非常幼稚的问题,遍历每个点并标记它(如果尚未标记),并在同一迭代(根据需要)中将其他任何点彼此对照({pj.y
个)-如果坐标较低且未标记...
似乎是无限的,我真的很困惑。
示例:
O(n^3)
。
在这种情况下,将在第一次迭代期间标记所有点,其中n-1
和p=( (1,2),1],[(5,6),2] [(3,4),1] )
i=1
。
第二个要标记的(3,4)
第三个要标记的(5,6)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。