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

पायथन में दिए गए ऐरे में सभी अच्छे सूचकांक खोजें

मान लीजिए कि हमारे पास संख्याओं की एक सरणी A है, हमें इस सरणी के सभी सूचकांकों को खोजना होगा ताकि सरणी से ith तत्व को हटाने के बाद, सरणी एक अच्छी सरणी होगी। हमें यह ध्यान रखना होगा कि -

  • अच्छा सरणी एक तत्व के साथ एक सरणी है जो अन्य सभी तत्वों के योग के बराबर होती है।
  • 1-आधारित अनुक्रमण का उपयोग यहां किया जाएगा।

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

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

  • n :=A का आकार
  • जोड़ें:=0
  • my_map :=एक नया नक्शा
  • मैं के लिए 0 से n की सीमा में, करते हैं
    • my_map[A[i]] :=my_map[A[i]] + 1
    • जोड़ें :=+ A[i] जोड़ें
  • मैं के लिए 0 से n की सीमा में, करते हैं
    • k :=add - A[i]
    • यदि k mod 2 0 के समान है, तो
      • k :=k/2
      • अगर my_map में k है, तो
        • यदि (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. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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