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

दिए गए योग के साथ जोड़े खोजें जैसे कि जोड़ी के तत्व पायथन में अलग-अलग पंक्तियों में हों


मान लीजिए कि हमारे पास अद्वितीय तत्वों का एक मैट्रिक्स और एक योग है; हमें मैट्रिक्स से उन सभी जोड़ों को खोजना है जिनका योग दिए गए योग के बराबर है। यहां, जोड़ी के प्रत्येक तत्व को अलग-अलग पंक्तियों से लिया जाएगा।

तो, अगर इनपुट इस तरह है -

2 4 3 5
6 9 8 7
10 11 14 12
13 1 15 16

sum =13, तो आउटपुट [(2, 11), (4, 9), (3, 10), (5, 8), (12, 1)]

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

  • रेस :=एक नई सूची

  • n :=मैट्रिक्स का आकार

  • मेरे लिए 0 से n की सीमा में, करें

    • सूची मैट्रिक्स को क्रमबद्ध करें [i]

  • मैं के लिए 0 से n -1 की सीमा में, करो

    • i + 1 से n की श्रेणी में j के लिए, करें

      • निम्न :=0, उच्च :=n - 1

      • जबकि निम्न =0, करें

        • अगर (मैट्रिक्स [i, कम] + मैट्रिक्स [जे, उच्च]) योग के समान है, तो

          • जोड़ी:=(मैट्रिक्स [i, कम], मैट्रिक्स [जे, उच्च]) का उपयोग करके जोड़ी बनाएं

          • रेस के अंत में जोड़ी डालें

          • कम :=कम + 1

          • उच्च :=उच्च - 1

        • अन्यथा,

          • अगर (मैट्रिक्स [i] [निम्न] + मैट्रिक्स [जे] [उच्च]) <योग, तो

            • कम :=कम + 1

          • अन्यथा,

            • उच्च :=उच्च - 1

  • रिटर्न रेस

उदाहरण (पायथन)

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

MAX = 100
def sum_pair(matrix, sum):
   res = []
   n = len(matrix)
   for i in range(n):
   matrix[i].sort()
   for i in range(n - 1):
      for j in range(i + 1, n):
         low = 0
         high = n - 1
         while (low < n and high >= 0):
            if ((matrix[i][low] + matrix[j][high]) == sum):
               pair = (matrix[i][low],matrix[j][high])
               res.append(pair)
               low += 1
               high -= 1
         else:
         if ((matrix[i][low] + matrix[j][high]) < sum):
            low += 1
         else:
            high -= 1
   return res

sum = 13
matrix = [
   [2, 4, 3, 5],
   [6, 9, 8, 7],
   [10, 11, 14, 12],
   [13, 1, 15, 16]]
print(sum_pair(matrix, sum))

इनपुट

[[2, 4, 3, 5],
[6, 9, 8, 7],
[10, 11, 14, 12],
[13, 1, 15, 16]]
sum = 13

आउटपुट

[(4, 9), (5, 8), (2, 11), (3, 10), (12, 1)]

  1. दिए गए योग के साथ जोड़े खोजें जैसे कि जोड़ी तत्व पायथन में अलग-अलग बीएसटी में हों

    मान लीजिए कि हमारे पास दो दिए गए बाइनरी सर्च ट्री हैं और दूसरा योग दिया गया है; हमें दिए गए योग के संबंध में जोड़े खोजने होंगे ताकि प्रत्येक जोड़ी तत्व अलग-अलग बीएसटी में हों। तो, अगर इनपुट योग =12 जैसा है तो आउटपुट [(6, 6), (7, 5), (9, 3)] . होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. पायथन में सूची में दिए गए तत्वों की आवृत्ति का योग ज्ञात करें

    एक दी गई सूची में कई बार-बार आइटम होते हैं। हम सूची में दोहराई गई कुछ ऐसी वस्तुओं की बारंबारता का योग ज्ञात करने में रुचि रखते हैं। नीचे दिए गए तरीके हैं कि हम इसे कैसे प्राप्त कर सकते हैं। योग के साथ हमारे पास दो सूचियां हैं। एक के पास मानों की सूची है और दूसरे के पास वे मान हैं जिनकी आवृत्ति को प

  1. पायथन में सूचकांकों द्वारा सूची के तत्वों का पता लगाएं

    दो सूचियों पर विचार करें। दूसरी सूची के तत्व संख्याएँ हैं जिन्हें पहली सूची के तत्वों के लिए सूचकांक स्थिति के रूप में माना जाना चाहिए। इस परिदृश्य के लिए हमारे पास नीचे दिए गए पायथन प्रोग्राम हैं। मानचित्र और getitem के साथ हम सूची आइटम तक पहुंचने के लिए गेटिटम जादू विधि का उपयोग कर सकते हैं। हम इ