मान लीजिए हमारे पास एक आयत है जिसे चार तत्वों की सूची [x1, y1, x2, y2] के रूप में दर्शाया गया है, जहां (x1, y1) उसके निचले-बाएं कोने के निर्देशांक हैं, और (x2, y2) उसके ऊपरी-दाएं कोने के निर्देशांक हैं। दो आयत ओवरलैप होते हैं जब उनके प्रतिच्छेदन का क्षेत्रफल धनात्मक होता है। केवल कोने या किनारों को छूने वाले आयत ओवरलैप नहीं माने जाते।
उदाहरण के लिए, यदि इनपुट 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], तो False वापस करें
- अन्यथा, True वापस करें
उदाहरण
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