Đây hy vọng là một câu hỏi toán học rất đơn giản. Nếu tôi có hai dãy số, cách đơn giản nhất và hiệu quả nhất để kiểm tra là gì nếu họ xung đột, ví dụ:Phát hiện xem hai dải số có xung đột không
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
Tôi hiện đang có đống lộn xộn này, nhưng phải có một cách đơn giản hơn nhiều để làm việc kiểm tra này:
$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);
Tôi vừa đăng bài :-) +1 để nhanh hơn. –
hoặc, không có phủ định: '$ clash = ($ b1 <= $ a2) && ($ a1 <= $ b2)' – sth
Xin cảm ơn, điều đó thật tuyệt. –