有任意点 用最少给定大小的矩形 平面上任意点最小数量的矩形囊括在内难道不是1个矩形? 求出x-y轴最大最小值画个矩形不是1个矩形囊括所有点???
[quote=引用 17 楼 ziqi0716 的回复:]跟滑动窗口算法类似,只不过这个是个二维的. 一维的算法就是定义一个指针和窗口宽度,移动指针(跨度根据业务场景定),统计窗口区间内符合要求的数据量. 二维算法就是扩展下,两个指针,还有对应的宽度和高度,两重滑动循环(滑动跨度这里应该是横向或纵向的下一个点),一层横向滑动,内存纵向移动,移动过程统计记录点数及位置信息. 这个有两个循环,此算法时间复杂度为O(m*n),不算特别高效.暂时没想到别的算法.
跟滑动窗口算法类似,只不过这个是个二维的. 一维的算法就是定义一个指针和窗口宽度,移动指针(跨度根据业务场景定),统计窗口区间内符合要求的数据量. 二维算法就是扩展下,两个指针,还有对应的宽度和高度,两重滑动循环(滑动跨度这里应该是横向或纵向的下一个点),一层横向滑动,内存纵向移动,移动过程统计记录点数及位置信息. 这个有两个循环,此算法时间复杂度为O(m*n),不算特别高效.暂时没想到别的算法.
谢谢解答,你这方法 有个缺陷, 如图 比如你找到了蓝色矩形,也是框选最多点,但是遗漏了右下角的点,导致 需要三个矩形才能框选完成。
由于是使用的启发式方法,不完善则再改进。 再次找到两个相邻的矩形,找出两个矩形内点列的最大边界,如果最大边界适用一个矩形,则合并这两个矩形。
不就是比大小。一次遍历就可以找出最左最右,最上最下。四个点有了,矩形不就出来了。
111,094
社区成员
642,554
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧