時間交差点

説明

与える2人のユーザがオンライン時系列を命じ、そして各セクションでは、ユーザーのログイン時刻を記録  x し、オフライン時刻を  yorder.youは間隔のリストを返す必要が昇順でタイム両方のユーザーが同時にオンラインになっている期間、および出力をご覧ください。

  • 私たちはオンラインの時系列会うの長さがあることを保証します  1 <= len <= 1e6
  • ユーザーのオンライン時系列の場合は、そのセクションのいずれか2つが交差しません。

例1:

Input: seqA = [(1,2),(5,100)], seqB = [(1,6)]
Output: [(1,2),(5,6)]
Explanation: In these two time periods (1,2), (5,6), both users are online at the same time.

例2:

Input: seqA = [(1,2),(10,15)], seqB = [(3,5),(7,9)]
Output: []
Explanation: There is no time period, both users are online at the same time.
思考:走査線は、
各オンラインの期間に応じてイベント(時間、ステータス)を生成します。イベントは、時間によって、同じ時間であれば、オンラインの優先順位をオフラインに命じました。
それはオンラインイベントカウントを++、発見された場合、スキャンソート後のイベントは、更新カウント== 2は、指示する場合は、この時点彼らは両方オンライン録音時間。更新カウントは、彼らの両方がオンラインの人のオンラインステータスからになったことを示し、1になった場合は、オフラインイベントcount--を見つけた場合。世代時間(prevTime、currTime)、その結果に加えます。

おすすめ

転載: www.cnblogs.com/FLAGyuri/p/12078134.html