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

Python - दी गई ऐरे में सभी गुड इंडेक्स ढूंढना

मान लीजिए हमारे पास संख्याओं की एक ऐरे A है, हमें इस ऐरे के सभी इंडेक्स ढूंढने हैं ताकि ऐरे से i-th एलिमेंट को डिलीट करने के बाद, ऐरे एक गुड ऐरे बन जाए। हमें ध्यान रखना है कि:

  • गुड ऐरे एक ऐसा ऐरे है जिसमें एक एलिमेंट होता है जो अन्य सभी एलिमेंट्स के योग के बराबर होता है।
  • यहां 1-बेस्ड इंडेक्सिंग उपयोग की जाएगी।

तो, यदि इनपुट [10, 4, 6, 2] जैसा है, तो आउटपुट [1, 4] होगा क्योंकि जब हम A[1] हटाते हैं, तो ऐरे [4, 6, 2] जैसा दिखेगा और यह गुड है, क्योंकि 6 = 4+2। यदि हम A[4] हटाते हैं, तो ऐरे [10, 4, 6] जैसा दिखेगा और यह भी गुड है, क्योंकि 10 = 4+6।

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

  • n := A का आकार
  • add := 0
  • my_map := एक नया मैप
  • i को 0 से n तक रेंज में, करें
    • my_map[A[i]] := my_map[A[i]] + 1
    • add := add + A[i]
  • i को 0 से n तक रेंज में, करें
    • k := add - A[i]
    • यदि k % 2 == 0, तो
      • k := k / 2
      • यदि k, my_map में है, तो
        • यदि (A[i], k के समान है और my_map[k] > 1) या (A[i], k के समान नहीं है), तो
          • i + 1 प्रदर्शित करें

उदाहरण

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

from collections import defaultdict

def find_indices(A):
    n = len(A)
    add = 0
    my_map = defaultdict(lambda: 0)
    for i in range(n):
        my_map[A[i]] += 1
        add += A[i]
    for i in range(n):
        k = add - A[i]
        if k % 2 == 0:
            k = k >> 1
            if k in my_map:
                if (A[i] == k and my_map[k] > 1) or (A[i] != k):
                    print(i + 1)

A = [10, 4, 6, 2]
find_indices(A)

इनपुट

[10, 4, 6, 2]

आउटपुट

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

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

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

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

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

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