네 개의 요소 [x1, y1, x2, y2]가 있는 목록으로 표시되는 직사각형이 있다고 가정합니다. 여기서 (x1, y1)은 왼쪽 아래 모서리의 좌표이고 (x2, y2)는 다음 좌표입니다. itstop-오른쪽 모서리. 교차 영역이 양수일 때 두 개의 직사각형이 겹칩니다. 따라서 모서리나 가장자리에서만 닿는 두 개의 직사각형은 겹치지 않습니다.
따라서 입력이 R1 =[0,0,2,2], R2 =[1,1,3,3]과 같으면 출력은 True가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- R1[0]>=R2[2] 또는 R1[2]<=R2[0] 또는 R1[3]<=R2[1] 또는 R1[1]>=R2[3]이면
- 거짓을 반환
- 그렇지 않으면
- 참 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, R1, R2): if (R1[0]>=R2[2]) or (R1[2]<=R2[0]) or (R1[3]<=R2[1]) or (R1[1]>=R2[3]): return False else: return True ob = Solution() print(ob.solve([0,0,3,3],[1,1,4,4]))
입력
[0,0,3,3],[1,1,4,4]
출력
True