【发布时间】:2020-10-06 17:38:35
【问题描述】:
这是一个任务:
夏季花卉展览的策展人正在为活动做准备。他们必须找到一个花开最多的时间。他们有一张包含 (0 ID,开花季节的开始和结束(StartMonth,StartDay,EndMonth,EndDay) 帮助策展人找到展览中花朵最多开花的最早时间(间隔的开始和结束)。 注意:正确的时间不一定是已经存在的时间间隔 由于这是一个我想自己完成大部分任务的任务,所以我想就如何从理论上解决这个问题获得建议。 开花季节的样本: 121 6 15 7 25 102 7 1 8 14 236 6 30 8 31 141 7 31 8 10 111 7 1 7 20 128 6 2 6 3 首先我将介绍我的方法: 现在想起来,我脑海中突然冒出一个想法,我可以尝试制作一个 92 天的结构
然后计算哪些日子包含最多开花的季节。这很容易,但我不会对这个解决方案感到满意,因为它效率太低。 (轻笑)与我当前一次又一次匹配间隔的代码相比呢?还会低效吗? :D 我也在网上搜索了答案,但只找到了一半。 总之,我很想听听其他意见。有什么方法可以妥善处理?我的方法合理还是应该寻找另一种方法?您的帮助将不胜感激。同样,我不是要求一个完整的解决方案,只是轻推答案。提前致谢。
【问题讨论】:
-
你可以加速你的日常想法,只以某种排序顺序访问每个段的端点。这是一种sweep line algorithm。
-
感谢您的建议。尽管我有一些艰难的时间试图理解它。也许是因为算法经常使用非常具体的术语来解释。您能推荐任何可以以最简单的方式涵盖高级算法的网站/内容创建者吗?
标签: intervals computational-geometry theory