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

पायथन में अलग-अलग पंक्तियों में तत्वों वाले दिए गए योग के पेयर्स खोजें


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

तो, यदि इनपुट इस तरह है:

2435
6987
10111412
1311516

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

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • res := एक नई सूची

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

  • i को 0 से n तक के लिए, करें:

    • सूची matrix[i] को सॉर्ट करें

  • i को 0 से n-1 तक के लिए, करें:

    • j को i+1 से n तक के लिए, करें:

      • low := 0, high := n-1

      • जब low < n और high >= 0, करें:

        • यदि (matrix[i, low] + matrix[j, high]), sum के समान है, तो:

          • pair := (matrix[i, low], matrix[j, high]) का उपयोग करके पेयर बनाएं

          • pair को res के अंत में डालें

          • low := low + 1

          • high := high - 1

        • अन्यथा,

          • यदि (matrix[i][low] + matrix[j][high]) < sum, तो:

            • low := low + 1

          • अन्यथा,

            • high := high - 1

  • res लौटाएं

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

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

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. पायथन में दिए गए योग वाले पेयर्स खोजें जैसे कि पेयर एलिमेंट्स अलग-अलग BSTs में हों पायथन में दिए गए योग वाले पेयर्स खोजें जैसे कि पेयर एलिमेंट्स अलग-अलग BSTs में हों

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

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

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

  1. - पायथन में इंडेक्स द्वारा सूची के तत्व खोजें

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