Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में आयत ओवरलैप


मान लीजिए एक आयत को सूची [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
  1. पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं पायथन में जांचें कि कोई बिंदु आयत के अंदर या पर स्थित है या नहीं

    मान लीजिए हमारे पास एक आयत है जिसे दो बिंदुओं द्वारा दर्शाया गया है: निचला-बायां (bottom-left) और ऊपरी-दायां (top-right) कोना। हमें यह जांचना है कि क्या दिया गया बिंदु (x, y) इस आयत के अंदर मौजूद है या नहीं। उदाहरण के लिए, यदि इनपुट bottom_left = (1, 1), top_right = (8, 5), point = (5, 4) है, तो आउ

  1. Python में हिस्टोग्राम में सबसे बड़ा आयत Python में हिस्टोग्राम में सबसे बड़ा आयत

    मान लीजिए हमारे पास एक पूर्णांक सरणी है जो हिस्टोग्राम की ऊंचाई दर्शाती है। प्रत्येक बार की इकाई चौड़ाई है। हमें निम्नानुसार सबसे बड़े क्षेत्र का आयत ढूंढना है −इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −स्टैक बनाएं, i := 0, ans := 0 सेट करेंजब तक i < heights का आकार, तबयदि स्टैक में 0 तत्व हैं

  1. पायथन में IsNumber() फंक्शन कार्यान्वित करें पायथन में IsNumber() फंक्शन कार्यान्वित करें

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण का उपयोग करके isNumber() मेथड को कार्यान्वित करने के बारे में जानेंगे।यह मेथड इनपुट के रूप में एक स्ट्रिंग टाइप लेता है और बूलियन True या False वापस करता है इस आधार पर कि दर्ज स्ट्रिंग एक संख्या है या नहीं। ऐसा करने के लिए हम ट्राई और एक्सेप्ट स्टेटमे