Giả sử chúng ta có một hình chữ nhật được biểu diễn dưới dạng danh sách với bốn phần tử [x1, y1, x2, y2], trong đó (x1, y1) là tọa độ của góc dưới bên trái của nó và (x2, y2) là tọa độ của itstop-góc bên phải. Hai hình chữ nhật trùng nhau khi diện tích giao của chúng là dương. Vì vậy, hai hình tam giác chỉ chạm vào ở góc hoặc các cạnh không chồng lên nhau.
Vì vậy, nếu đầu vào giống như R1 =[0,0,2,2], R2 =[1,1,3,3], thì đầu ra sẽ là True.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu R1 [0]> =R2 [2] hoặc R1 [2] <=R2 [0] hoặc R1 [3] <=R2 [1] hoặc R1 [1]> =R2 [3], thì
- trả về Sai
- nếu không,
- trả về True
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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]))
Đầu vào
[0,0,3,3],[1,1,4,4]
Đầu ra
True