私はアプリケーションのダウンタイム計算をいくつか試みようとしています。私が持っているのは、アプリケーションのさまざまな部分がダウンしたときを示すハッシュの巨大な配列です。ハッシュには開始時刻と終了時刻が含まれます。問題は、これらのダウンタイムの一部が重複する可能性があることです。どのようにして、ハッシュの配列を調べ、重複する時間間隔を見つけることができますか?ルビー配列の時間間隔が重複しているのを見つけて平坦化する
times = [{"timefrom"=>1461693247, "timeto"=>1461693307},
{"timefrom"=>1462363987, "timeto"=>1462364607},
{"timefrom"=>1462364037, "timeto"=>1462366037}]
したがって例えば、上記配列を指定し、times[1]
及びtimes[2]
重なり合います。だから理想的には私がしたいのは、彼らが1つの長い停電を形成するようにそれらをマージすることです。 I.
times[1] = { "timefrom" => times[1]["timefrom"], "timeto" => times[2]["timeto"] }
が2つの以上のタイムスライスが重複する可能性がありますか?入力は '' timefrom ''でソートされていますか?理論的には@mudasobwa @ – mudasobwa
が重複する可能性があります。彼らはおそらく超可能かもしれない。そして、はい、 'timefrom'でソートしました – Zack
ようこそスタックオーバーフロー。問題を解決するためのあなたの努力を見たいと思います。それがなければ、あなたにコードを書くように求めているようです。リンクされたページを含む「[ask]」をお読みください。 http://meta.stackoverflow.com/q/261592/128421も読むのが便利です。 –