【发布时间】:2013-03-22 18:07:17
【问题描述】:
我需要每天随机选择 N 个事件,但它们之间不能太接近(M)。因此,N 个事件必须在特定窗口 (W) 内相隔至少 M。在这种情况下,我想到的窗口是 12 小时。
- N = 事件数
- T = 事件发生的时间 (UTC)
- M = 它们应该分开的最小因子(小时)。
- W = 事件的窗口期(现在到现在 + 12 小时)。
- U = 用户(可能对这个问题不重要)
我大概可以解决这个问题,但我认为这将是一个有趣的 StackOverflow 问题,并且对人们如何解决它感兴趣。
提前致谢:)
更新:将答案移至答案
【问题讨论】:
-
你应该表现出你的努力。
-
是的,我将在 C# 代码中发布我的分析器,我想查看代码示例。
-
如果在 W 中相隔 M 的事件少于 N 怎么办?是否应该移除 M 约束以允许选择 N 个事件?
-
当您选择时,您的窗口中是否有所有事件,或者您选择一个然后查询下一个?
-
另外,您对活动的持续时间有何看法?它是固定的,还是不是问题?