我有一组元素(它们是带有绝对坐标的DOM元素,但问题更多的是关于算法而不是JavaScript,一旦我用getBoundingClientRect()得到它们的坐标,问题的其余部分就足够通用了它适用于其他领域)。我需要确定这些矩形定义的区域是否为矩形。以下是一些例子:
元素永远不会重叠,我试图找出一种有效的算法来确定该区域是否是矩形,最好是线性时间。虽然它的时间复杂度更高,但它并不是世界末日,只要它被认为对用户来说是瞬时的,例如...... 50块。我的用例基本上是一个拒绝用户操作的游戏,如果所选元素不对齐。
答案 0 :(得分:3)
由于您可以保证不会重叠,您可以:
如果边界矩形与所有矩形区域的总和具有相同的面积,则矩形全部整齐地适合于边界矩形。