首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当试图最小化包含不同整数形状矩形的矩形空间时,是否可以避免回溯?

当试图最小化包含不同整数形状矩形的矩形空间时,是否可以避免回溯?
EN

Stack Overflow用户
提问于 2010-07-01 14:51:57
回答 2查看 137关注 0票数 2

我问题的抽象是,在笛卡儿平面上有很多矩形。这些矩形具有已知的整数大小,必须具有整数坐标,它们的脓肿(水平坐标)是已知和固定的,只有它们的纵坐标(垂直坐标)可以改变。

问题是找到那些最小的矩形,其中包含所有给定的矩形是最小的。这意味着它应该有最小的高度,因为它的宽度是固定的,因为小矩形有固定的脓肿。

我不知道是否应该使用回溯,或者有更快的方法,我可以想象,在50个矩形上,计算正确的解需要一些可测量的时间,而贪婪的算法不能很好地满足我的要求。

编辑:对不起,我现在意识到我还不够清楚。当我第一次问这个问题时,我正在构建一个日历应用程序。经理会为他的团队填写事件:

  • 事件A从下午2点开始。下午4点结束,
  • 事件B从下午5点开始。下午6点结束,
  • 事件C从下午4点开始。下午6点结束,
  • 活动D从下午2点开始。
  • 事件E从下午3点开始。下午5点结束,

我希望在时间线上显示这些事件,并且希望它们尽可能少地占用屏幕,而不存在重叠(因为管理器希望看到其矩形中的每个事件,并在该矩形中看到描述)。

以上例子的最佳安排如下:

代码语言:javascript
运行
复制
+-----+-----+
|  A  |  C  |
+---+-+-+---+
| D | E | B |
+---+---+---+

A和C在一条线上,D,E,B在另一条线上。贪婪的方法会把A和B放在同一行,C和D放在另一条线上,E放在第三条线上。

EN

回答 2

Stack Overflow用户

发布于 2014-03-09 01:29:30

如果我正确地读到了你的问题,你需要找到一个最小的矩形,它涵盖了给定的一组矩形--对吗?

既然它的横坐标范围是由输入条件固定的,你只需要找到纵坐标范围?

如果是这样的话,只需扫描给定的矩形集,寻找它们的“最小底部”和“最大顶部”,这些矩形将定义所需的矩形。

票数 1
EN

Stack Overflow用户

发布于 2014-03-10 14:12:42

我会维持事件的时间顺序。你正在建立一个日历,所以时间顺序是非常有意义的。首先显示先开始的事件。

我会以不同的方式解决屏幕产业问题,而不是重新包装元素。例如,缩小元素的大小,但是当用户将鼠标悬停在元素上时,可以显示包含更多信息的工具提示。当用户选择一个元素时(用鼠标单击),然后显示完整的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3158936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档