我必須從給定的一組座標中找到最大數量的矩形。從給定的座標集中查找矩形的數量
考慮以下座標的XY給定座標系 3 10, 3 8, 3 6, 3 4, 3 0, 6 0, 6 4, 6 8, 6 10 ,
我怎麼能找到,如果以下座標形成一個矩形(3,0)(3,4)(6,4)(6,0)
運行時間限制:0.1秒
謝謝
我必須從給定的一組座標中找到最大數量的矩形。從給定的座標集中查找矩形的數量
考慮以下座標的XY給定座標系 3 10, 3 8, 3 6, 3 4, 3 0, 6 0, 6 4, 6 8, 6 10 ,
我怎麼能找到,如果以下座標形成一個矩形(3,0)(3,4)(6,4)(6,0)
運行時間限制:0.1秒
謝謝
要檢查4個點形成一個矩形:
你將有一個[0] = A [1],A [2] = [3],A [4] = A [5]
我怎麼能找到,如果以下座標形成一個矩形
檢查該差矢量是否是正交的,即具有點積爲零。
這是的不是檢查這些座標是否包含在您的列表中。它也沒有而不是檢查矩形是否與座標軸對齊,這將是一個更簡單的問題。
如果你想在你的輸入中找到所有的矩形,你可以可以做上述檢查所有的四倍。如果由於性能原因這是不可接受的,那麼您應該更新您的問題,指出您面臨的問題的大小和性能受到哪些限制。
獨立的在「Y的列表點'座標,按'x'座標分組。你的情況,你將有兩個有序列表:
3: [0,4,6,8,10]
6: [0,4,8,10]
做兩份名單你得到的交集:[0,4,8,10]
任何兩個那些會形成一個矩形:
[0,4] => (3,0), (3,4), (6,0), (6,4)
[0,8] => (3,0), (3,8), (6,0), (6,8)
[4,8] => (3,4), (3,8), (6,4), (6,8)
...
此解決方案僅適用於正交矩形,這是與x,y軸平行的邊。
令人驚訝的是,我一直在努力尋找一種方法來實現這一點 – AlvaroAV
決定什麼是問題。 4點形成一個矩形或在給定的點上可以形成多少個矩形? – hasan83
他們兩人其實,我如何驗證4個點形成一個矩形,我如何找到最大數量的可能矩形 – Alin
這是一個ACM問題? – hasan83