説明
与える2人のユーザがオンライン時系列を命じ、そして各セクションでは、ユーザーのログイン時刻を記録 x
し、オフライン時刻を y
。order.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)、その結果に加えます。