|
|
1
6
正如@BeemerGuy指出的,
有一个O(N^2)的解决方案,对于每个矩形,你搜索其他矩形的列表,看看它是否适合内部。每个矩形的“所有者”是包含它的最小矩形。伪码:
它的效率不高,但对于你的目的来说可能“足够快”。我很确定我已经看到了一个O(n logn)解决方案(毕竟这只是一个排序操作),但它有点复杂。 |
|
|
2
9
使用
更新
:
|
|
|
3
4
平均情况O(n logn)解决方案: 将矩形集想象成一棵树,父节点“包含”子节点——这与DOM结构类似。你一次要把这棵树做成一个长方形。 创建一个虚拟节点作为树的根。然后,对于每个矩形(“current_rect”),从根的子对象开始向下,直到找到它的位置:
“contains”关系询问一个矩形是否包含另一个矩形“父”、“子”和“兄弟”指的是树结构。 编辑 :修复了一个错误,该错误将无法将某些节点移动到当前目录中。 |
|
|
4
0
检查矩形中的每个点是否在其他矩形的边界内。 在.NET中,矩形类有一个.Contains(Point)方法。或者可以再次检查目标矩形的.Left、.Right、.Top和.Bottom属性的角点坐标。 |
|
|
5
0
伪代码:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |