2つの期間 A〜B と X〜Y が重なっているかどうかを判定したい場合。 のように4つのパターンがある。これを単純に、 A <= X && Y <= B || X <= A && Y <= B || A <= X && B <= Y || X <= A && B <= Yのように判定してはいけない。 Xは青い線の上を、Yは赤い線の上を動くとき、A〜B と X〜Y は重なり合う。この条件は、 X <= B && A <= Yこれで4つのパターンをカバーできる。ORは不要。始点と終点をわかりやすく書くと以下になる。 始点2 <= 終点1 && 始点1 <= 終点2アルゴリズムに名前がありそうな気がするけど、見つけられなかった。 (追記) 矩形の重なり判定の方が情報が見つかった。 * Life is beautiful: ビル・ゲイツの面接試験-私の場合 * 長方形の重なりを判定する問題 - ザ
![2つの期間が重なり合うかどうかを判定する。 - こせきの技術日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/f5de740ca370fcd9ccbbb7bbeeac421c6c031bc1/height=288;version=1;width=512/http%3A%2F%2Ff.hatena.ne.jp%2Fimages%2Ffotolife%2Fk%2Fkoseki2%2F20111021%2F20111021225035.png)