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

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

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

    मान लीजिए कि हमारे पास दो बिंदुओं द्वारा दर्शाया गया एक आयत है जो नीचे-बाएँ और ऊपरी-दाएँ कोने के बिंदु हैं। हमें यह जांचना है कि इस आयत के अंदर दिया गया बिंदु (x, y) मौजूद है या नहीं। इसलिए, यदि इनपुट बॉटम_लेफ्ट =(1, 1), टॉप_राइट =(8, 5), पॉइंट =(5, 4) जैसा है, तो आउटपुट ट्रू होगा इसे हल करने के

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

    मान लें कि हमारे पास एक पूर्णांक सरणी है जो हिस्टोग्राम की ऊंचाई का प्रतिनिधित्व कर रही है। प्रत्येक बार में इकाई चौड़ाई होती है। हमें इस प्रकार सबसे बड़ा क्षेत्रफल आयत ज्ञात करना है - इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - स्टैक बनाएं, मैं सेट करें:=0, उत्तर:=0 जबकि मैं <ऊंचाई का

  1. पायथन में IsNumber () फ़ंक्शन लागू करें

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