以下是我努力解决的一个面试问题。要求的界限是小于O(n^2)
。这是问题所在:
你得到一组点 S =
(x1,y1)....(xn,yn)
。这些点是 XY 平面上的坐标。当且仅当且时,称点(xa,ya)
大于点。目标是从集合 S 中找到所有点对 p1 = (xa,ya) 和 p2 = (xb,yb),使得 p1 > p2。(xb,yb)
xa > xb
ya > yb
例子:
Input S = (1,2),(2,1),(3,4)
Answer: {(3,4),(1,2)} , {(3,4),(2,1)}
我只能想出一个O(n^2)
解决方案,包括与其他点检查每个点。如果有更好的方法,请帮助我。