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

अतिव्यापी अंतरालों को खोजने और उन्हें पायथन में आरोही क्रम में वापस करने का कार्यक्रम

मान लीजिए कि हमारे पास बंद अंतराल की एक सूची है और अंतराल की एक और सूची है। व्यक्तिगत रूप से, प्रत्येक सूची गैर-अतिव्यापी होती है और उन्हें गैर-घटते क्रम में क्रमबद्ध किया जाता है। हमें गैर-घटते क्रम में क्रमबद्ध दो अंतरालों के ओवरलैप को खोजना होगा।

इसलिए, यदि इनपुट inv1 =[[50, 100], [190, 270], [310, 330]] inv2 =[[40, 120], [180, 1990]] जैसा है, तो आउटपुट होगा [ [50, 100], [190, 1990]]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • उत्तर:=एक नई सूची
  • i :=0, j :=0
  • जबकि मैं <ए का आकार और जे <बी का आकार, करते हैं
    • यदि प्रारंभ <=अंत, तो
      • अंतराल [शुरू, अंत] को उत्तर में डालें
    • अगर A[i, 1]
    • i :=i + 1
  • अन्यथा,
    • j :=j + 1
  • वापसी उत्तर
  • आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

    उदाहरण

    class Solution:
       def solve(self, A, B):
          ans = []
          i = 0
          j = 0
          while i < len(A) and j < len(B):
             start = max(A[i][0], B[j][0])
             end = min(A[i][1], B[j][1])
             if start <= end:
                ans.append([start, end])
                if A[i][1] < B[j][1]:
                   i += 1
                else:
                   j += 1
             return ans
    ob = Solution()
    inv1 = [[50, 100],[190, 270],[310, 330]]
    inv2 = [[40, 120],[180, 190]]
    print(ob.solve(inv1, inv2))

    इनपुट

    [[50, 100],[190, 270],[310, 330]], [[40, 120],[180, 190]]

    आउटपुट

    [[50, 100], [190, 190]]

    1. पायथन में एक अद्वितीय सरणी के सन्निहित अंतराल को खोजने का कार्यक्रम

      मान लीजिए कि हमारे पास अद्वितीय संख्याओं की एक सूची है, जिन्हें अंक कहा जाता है। हमें संख्याओं का एक क्रमबद्ध 2D मैट्रिक्स खोजना होगा, जहां प्रत्येक सूची एक समावेशी अंतराल सारांश संख्या का प्रतिनिधित्व करती है जो अंकों में सन्निहित है। इसलिए, यदि इनपुट अंकों की तरह है =[10, 11, 12, 15, 16, 17, 28,

    1. पायथन में के और -के

      मान लीजिए कि हमारे पास संख्याओं की एक सूची है जिसे अंक कहा जाता है, हमें सबसे बड़ी संख्या k ज्ञात करनी है जहां kand -k दोनों अंकों में मौजूद हैं (वे एक ही संख्या हो सकती हैं)। अगर ऐसा कोई तत्व नहीं है, तो -1 लौटाएं। इसलिए, अगर इनपुट [-5, 2, 9, -6, 5, -9] जैसा है, तो आउटपुट 9 होगा। इसे हल करने के ल

    1. पायथन में इंटरसेक्टिंग अंतराल खोजें

      मान लीजिए कि हमारे पास अंतरालों की एक सूची है, जहां प्रत्येक अंतराल [प्रारंभ, अंत] जैसा है, यह एक अंतराल (समावेशी) के प्रारंभ और समाप्ति समय का प्रतिनिधित्व कर रहा है, हमें उनका प्रतिच्छेदन, यानी अंतराल जो सभी दिए गए अंतरालों में स्थित है। इसलिए, यदि इनपुट [[10, 110], [20, 60], [25, 75]] जैसा है, त