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 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

  1. n को जांचने के लिए प्रोग्राम को पायथन में k के योग के रूप में दिखाया जा सकता है या नहीं

    मान लीजिए कि हमारे पास एक संख्या n है, और दूसरी संख्या k है। हमें जांचना है कि क्या n को k अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है या नहीं। इसलिए, यदि इनपुट n =30 k =3 जैसा है, तो आउटपुट सही होगा क्योंकि 30 को 2 + 11 + 17 की तरह दर्शाया जा सकता है। इसे हल करने के लिए, हम इन चरणों का प

  1. ढेर की जाँच करने का कार्यक्रम पायथन में अधिकतम ढेर बना रहा है या नहीं

    मान लीजिए कि हमारे पास ढेर के पेड़ का प्रतिनिधित्व करने वाली एक सूची है। जैसा कि हम जानते हैं कि हीप एक पूर्ण बाइनरी ट्री है। हमें यह जांचना है कि तत्व अधिकतम ढेर बना रहे हैं या नहीं। जैसा कि हम जानते हैं कि अधिकतम ढेर के लिए प्रत्येक तत्व अपने दोनों बच्चों से बड़ा होता है। इसलिए, यदि इनपुट nums =[

  1. पायथन में विषम लंबाई चक्र एक ग्राफ में है या नहीं यह जांचने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास एक अप्रत्यक्ष ग्राफ है, तो हमें यह जांचना होगा कि हम इसके अंदर एक विषम लंबाई चक्र ढूंढ सकते हैं या नहीं। तो, अगर इनपुट adj_list =[[1, 2], [0, 3, 4], [0, 3, 4], [1, 2, 4], [1, 2, 3]] तब आउटपुट सही होगा क्योंकि [0, 1, 3, 4, 2], [1, 3, 4], [2, 3, 4] जैसे विषम लंबाई के चक्र है