|
|
1
6
(假设列表中没有重复的天数。) |
|
|
2
3
建立一个有效日期列表,并使用LINQ的
这个
|
|
|
3
3
抱歉,伙计们,我不太喜欢你们的解决方案。 我认为你应该创建一个包含日期的哈希表。你可以通过在工作日只进行一次互动来做到这一点。 然后,使用
简单、优雅、快捷。 我认为你的解决方案使用指数时间,这个是线性或对数(这实际上是一件好事)。 |
|
|
4
0
假设列表已排序,并且机器大部分时间都在“工作”,则可以通过按月份分组日期并跳过其间的日期来避免迭代所有日期。像这样的事情(你需要清理):
|
|
5
0
我怀疑你想要一份工作日和不工作日的清单。
服务时间排序。对于第一个问题,请执行二进制搜索以查找您关心的日期,并检查前面的条目是否是正在脱机维护或重新投入使用的系统。对于%的正常运行时间,将(停机进行维护,服务已恢复)成对计算,使用减法计算维护持续时间,将这些加起来。然后用减法求总间隔的长度。
|