gpt4 book ai didi

python - 根据商店营业时间有效地确定企业是否营业

转载 作者:太空狗 更新时间:2023-10-29 22:03:18 25 4
gpt4 key购买 nike

给定一个时间(例如,当前星期二下午 4:24),我希望能够从一组企业中选择当前营业的所有企业。

  • 我有一周中每一天每个企业的开门和关门时间
  • 假设一家企业只能在每小时的 00、15、30、45 分钟标记开/关
  • 我假设每周都有相同的时间表。
  • 我最感兴趣的是能够快速查找一组在特定时间营业的商家,而不是数据的空间要求。
  • 请注意,有些店一天晚上 11 点开门,第二天凌晨 1 点关门。
  • 节假日无关紧要 - 我会单独处理这些

存储这些开门/关门时间的最有效方法是什么,以便使用单个时间/星期几元组,我可以快速找出哪些商家在营业?

我正在使用 Python、SOLR 和 mysql。我希望能够在 SOLR 中进行查询。但坦率地说,我愿意接受任何建议和替代方案。

最佳答案

如果您愿意一次只查看一周,您可以将所有开盘/收盘时间规范化为自一周开始以来设置的分钟数,比如周日 0 小时。对于每个商店,您创建许多形式为 [startTime, endTime, storeId] 的元组。 (对于跨越周日午夜的几个小时,您必须创建两个元组,一个到周末,一个从本周初开始)。这组元组将在 startTime 和 endTime 上被索引(比如,使用您要预处理的树)。元组不应该那么大:一周只有大约 10k 分钟,可以容纳 2 个字节。这种结构在具有适当索引的 MySQL 表中将是优雅的,并且对于随着信息更改而不断插入和删除记录非常有弹性。您的查询将只是“select storeId where startTime <= time and endtime >= time”,其中时间是自周日午夜以来的规范化分钟数。

如果信息不经常更改,并且您希望查找速度非常快,则可以预先解决每个可能的查询并缓存结果。例如,一周只有 672 个刻钟。有了一个企业列表,每个企业都有一个开放和关闭时间的列表,就像 Brandon Rhodes 的解决方案一样,您可以简单地迭代一周中的每 15 分钟时间段,找出谁是开放的,然后将答案存储在查找表中或内存列表。

关于python - 根据商店营业时间有效地确定企业是否营业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com