【发布时间】:2016-11-22 19:55:37
【问题描述】:
我正在尝试为应用程序进行一些停机时间计算。我所拥有的是一个巨大的哈希数组,显示应用程序的不同部分何时关闭。散列包括开始时间和结束时间。问题是其中一些停机时间可能重叠。如何遍历哈希数组并找到重叠的时间间隔。
times = [{"timefrom"=>1461693247, "timeto"=>1461693307},
{"timefrom"=>1462363987, "timeto"=>1462364607},
{"timefrom"=>1462364037, "timeto"=>1462366037}]
例如,给定上面的数组,times[1] 和 times[2] 重叠。因此,理想情况下,我想做的是合并它们,以便它们形成一次长时间的中断。 IE。
times[1] = { "timefrom" => times[1]["timefrom"], "timeto" => times[2]["timeto"] }
【问题讨论】:
-
可能有超过 2 个时间片重叠?输入是否按
"timefrom"排序? -
@mudasobwa 理论上它们都可以重叠。超级不可能,但他们可以。是的,按
timefrom排序 -
欢迎来到 Stack Overflow。我们希望看到您为解决问题所做的努力。没有它,您似乎是在要求我们为您编写代码。请阅读“How to Ask”,包括链接页面。 meta.stackoverflow.com/q/261592/128421 也有助于阅读。
-
您在解决此问题时遇到的 Ruby 问题是什么?
标签: arrays ruby algorithm time