これはうまくいけば、非常に簡単な数学の質問です。私は現在、この混乱を持って2つの数値範囲が衝突するかどうかを検出する
10-20 and 11-14 // clash as B is contained in A
11-15 and 20-22 // don't clash
24-26 and 20-30 // clash as A is contained in B
15-25 and 20-30 // clash as they overlap at each end
が、このチェックを行うにははるかに簡単な方法がなければならない:私は2つの番号範囲を持っている場合、彼らは衝突する場合など、チェックするための最も簡単かつ効率的な方法何
のみなら$ A2 < = $ B1または$ A1> = $ B2(範囲は順序対として与えられると仮定して)場合$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);
私はちょうどそれを投稿しようとしていました。 –
または否定なしで: '$ clash =($ b1 <= $ a2)&&($ a1 <= $ b2) ' – sth
ありがとう、それは素晴らしいです。 –