मान लीजिए कि हमारे पास एक आयत है जिसे चार तत्वों [x1, y1, x2, y2] के साथ एक सूची के रूप में दर्शाया गया है, जहां (x1, y1) इसके निचले-बाएं कोने के निर्देशांक हैं, और (x2, y2) के निर्देशांक हैं इसका स्टॉप-राइट कॉर्नर। दो आयतें ओवरलैप करती हैं जब उनके चौराहे का क्षेत्र सकारात्मक होता है। इसलिए, दो आयतें जो केवल कोने या किनारों को स्पर्श करती हैं, ओवरलैप नहीं होती हैं।
इसलिए, यदि इनपुट R1 =[0,0,2,2], R2 =[1,1,3,3] जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अगर 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