【问题标题】:Business opening hours grouping algorithm营业时间分组算法
【发布时间】:2015-02-09 23:44:03
【问题描述】:

我有这样一行代表营业时间的数据

day / opentime   / closetime  / isOpen
0      09:00:00    17:00:00      true
1      09:00:00    17:00:00      true
2      08:00:00    17:00:00      true
3      09:00:00    17:00:00      true
4      09:00:00    17:00:00      true
5                                false
6      09:00:00    17:00:00      true

day 是 0-6 的整数(周一到周日)和 iOpen

在重新发明轮子并开始思考新算法之前,我想知道是否已经有一些算法可以做类似的事情:

MON - TUE 9am - 5pm
WED 8am - 5pm
THU - FRI 9am - 5pm
SUN  9am - 5pm

基本上把有开盘和关盘的日子分组在一起?

我不是要一个准备好的算法,而是更多的建议,如果已经有类似的事情已经完成了,应该去哪里寻找。

ps:奖金问题。我存储数据的方式是否有效地实现了我的目标?

【问题讨论】:

标签: algorithm date time


【解决方案1】:

这是一个相当简单的算法。只需在代码中写下您作为人类会做什么。

作为人类,当我查看您提供给我的数据时,我会从星期一开始,然后在一张纸上写下开/关时间,并在它们旁边写下“星期一”。然后我看星期二。如果星期二的开/关时间与前一天相同,那么我只需转到已经写在纸上的时间,然后在星期一旁边添加“星期二”。我一直这样做,直到找到与前一天不同的打开/关闭时间。在这种情况下,我会在我的论文上换行并写下新的打开/关闭时间,然后继续这样直到结束。

如果我要在 C 中进行编程,我会使用一个结构数组,其中结构只有打开时间、关闭时间和一个字符数组(即字符串数组)来存储与这些时间相关的日期。 (注意:可能有更有效的存储方式,但这似乎足以满足您的目的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 2015-04-11
    • 2014-05-31
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多