[Algo] 두 범위가 겹치는지 확인

spring·2020년 12월 3일
0

공식

├───A───┤
     ├───B───┤

위와 같이 범위 A와 범위 B가 겹치지 않는 조건은 아래와 같다.

if(A_beg < B_end && A_beg > B_beg){
}

또는

if(max(A_beg,B_beg) < min(A_end,B_end){
}

증명

├───A───┤
           ├───B───┤

범위 B가 완전히 범위 A 뒤에 있는 경우는 A_end <= B_beg이고

           ├───A───┤
├───B───┤

반대로 범위 A가 완전히 범위 B 뒤에 있는 경우는 A_beg >= B_end이다.

위 두가지 경우를 제외하면 모두 겹친다.

드모르간의 법칙(not(A or B) = Not A And Not B =)에 의해서 위 수식은 참이다.

References

profile
Researcher & Developer @ NAVER Corp | Designer @ HONGIK Univ.

0개의 댓글