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

पायथन में उचित सरणी बनाने के तरीके खोजने का कार्यक्रम

मान लीजिए कि हमारे पास nums नामक एक सरणी है। हम ठीक एक इंडेक्स का चयन कर सकते हैं और उस इंडेक्स से एलिमेंट को हटा सकते हैं। (हटाने के बाद तत्वों का सूचकांक बदल सकता है)। हम कह सकते हैं कि एक सरणी उचित है जब विषम-अनुक्रमित मानों का योग सम-अनुक्रमित मानों के योग के बराबर होता है। हमें उन सूचकांकों की संख्या ज्ञात करनी है जिन्हें हम ऐसे चुन सकते हैं कि हटाने के बाद, अंक उचित हों।

इसलिए, यदि इनपुट nums =[5,3,7,2] जैसा है, तो आउटपुट होगा

  • अनुक्रमणिका 0 से निकालें, सरणी [3,7,2] है, सम स्थिति योग:3+2 =5, विषम स्थिति योग 7 (उचित नहीं)

  • अनुक्रमणिका 1 से निकालें, सरणी [5,7,2] है, सम स्थिति योग:5+2 =7, विषम स्थिति योग 7 (निष्पक्ष)

  • अनुक्रमणिका 2 से निकालें, सरणी [5,3,2] है, सम स्थिति योग:5+2 =7, विषम स्थिति योग 3 (उचित नहीं)

  • अनुक्रमणिका 3 से निकालें, सरणी [5,3,7] है, सम स्थिति योग:5+7 =12, विषम स्थिति योग 3 (उचित नहीं)

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

  • res :=0, sm1 :=0, sm2 :=0
  • i के लिए 1 से लेकर अंकों के आकार -1 तक के लिए
    • अगर मैं सम है, तो
      • sm1 :=sm1 + nums[i]
    • अन्यथा,
      • sm2 :=sm2 + nums[i]
  • यदि sm1 sm2 के समान है, तो
    • रेस :=रेस + 1
  • i के लिए 1 से लेकर अंकों के आकार -1 तक के लिए
    • अगर मैं विषम है, तो
      • sm1 :=sm1 - nums[i] + nums[i-1]
    • अन्यथा,
      • sm2 :=sm2 - nums[i] + nums[i-1]
    • यदि sm1 sm2 के समान है, तो
      • रेस :=रेस + 1
  • रिटर्न रेस

उदाहरण

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

def solve(nums):
   res, sm1, sm2 = 0, 0, 0
   for i in range(1, len(nums)):
      if i%2 == 1:
         sm1 += nums[i]
      else:
         sm2 += nums[i]
   if sm1 == sm2:
      res += 1

   for i in range(1, len(nums)):
      if i % 2 == 1:
         sm1 = sm1 - nums[i] + nums[i-1]
      else:
         sm2 = sm2 - nums[i] + nums[i-1]
      if sm1 == sm2:
         res += 1

   return res

nums = [5,3,7,2]
print(solve(nums))

इनपुट

[5,3,7,2]

आउटपुट

1

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

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

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

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

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

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