मान लीजिए एक आयत को सूची [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 isRectangleOverlap(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.isRectangleOverlap([0,0,2,2], [1,1,3,3]))
इनपुट
[0,0,2,2],[1,1,3,3]
आउटपुट
True