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

Python - ऐरे में वह एलिमेंट ढूंढना जो इसे समान प्रोडक्ट वाले दो सबऐरे में विभाजित करता है

मान लीजिए हमारे पास आकार N की एक ऐरे है; हमें एक ऐसा एलिमेंट ढूंढना है जो ऐरे को दो अलग-अलग सब-ऐरे में विभाजित करता है जिनका प्रोडक्ट समान हो। यदि ऐसा पार्टीशन संभव नहीं है तो -1 लौटाएं।

तो, यदि इनपुट [2, 5, 3, 2, 5] जैसा है, तो आउटपुट 3 होगा, तब सबऐरे हैं: {2, 5} और {2, 5}।

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

  • n := ऐरे का आकार
  • multiply_pref := एक नई लिस्ट
  • multiply_pref के अंत में array[0] इन्सर्ट करें
  • i को 1 से n तक रेंज में, करें
    • multiply_pref के अंत में multiply_pref[i-1] * array[i] इन्सर्ट करें
  • multiply_suff := आकार n की लिस्ट, None से भरी
  • multiply_suff[n-1] := array[n-1]
  • i को n-2 से -1 तक, 1 से घटाते हुए, करें
    • multiply_suff[i] := multiply_suff[i+1] * array[i]
  • i को 1 से n-1 तक रेंज में, करें
    • यदि multiply_pref[i], multiply_suff[i] के समान है, तो
      • array[i] लौटाएं
  • -1 लौटाएं

उदाहरण कोड

बेहतर समझ के लिए निम्नलिखित इम्प्लीमेंटेशन देखें:

def search_elem(array):
    n = len(array)
    multiply_pref = []
    multiply_pref.append(array[0])
    for i in range(1, n):
        multiply_pref.append(multiply_pref[i-1] * array[i])
    multiply_suff = [None] * n
    multiply_suff[n-1] = array[n-1]
    for i in range(n-2, -1, -1):
        multiply_suff[i] = multiply_suff[i+1] * array[i]
    for i in range(1, n-1):
        if multiply_pref[i] == multiply_suff[i]:
            return array[i]
    return -1

array = [2, 5, 3, 2, 5]
print(search_elem(array))

इनपुट

[2, 5, 3, 2, 5]

आउटपुट

3
  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे का योग निकालने की आवश्यकता है। पूरे ऐरे को पार करने और प्रत्येक इंडेक्स पर तत्व को जोड़कर योग प्राप्त करने का ब्रूट-फोर्स दृष्टिकोण नीचे चर्चा किया गया है। उदाहरण # sum फ़ंक्शन def

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक ऐरे दिया गया है, हमें ऐरे के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके और तत्व प्राप्त करके सबसे बड़ा तत्व निकालते हैं। हम नीच

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक ऐरे दिए जाने पर, हमें दिए गए ऐरे का योग निकालने की आवश्यकता है। यहां हम ब्रूट-फोर्स दृष्टिकोण का पालन कर सकते हैं यानी एक लिस्ट को ट्रैवर्स करना और प्रत्येक एलिमें