营业时间分组算法

时间:2015-02-09 23:44:04

标签: algorithm date time

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

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

日是从0到6(星期一到星期日)和iOpen

的整数

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

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

基本上将具有开始和结束时间的日期分组在一起?

我并没有要求准备好去算法,而是更多的建议,看看已经有类似的事情在哪里查看。

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

1 个答案:

答案 0 :(得分:2)

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

作为一个人,当我看到你给我的数据时,我从星期一开始,然后在一张纸上写下开/关时间并写下"星期一"在他们旁边。然后我看周二。如果星期二的开放/关闭时间与前一天相同,那么我只需要在我的纸上写下时间并添加"星期二"就在周一。我一直这样做,直到找到与前一天不同的开/关时间。在那种情况下,我在我的论文上写了一个新行并记下新的开/关时间并继续这样直到最后。

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