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

Python में निष्पक्ष ऐरे बनाने के तरीकों की गिनती करने का प्रोग्राम


मान लीजिए हमारे पास nums नामक एक ऐरे है। हम ठीक एक इंडेक्स चुन सकते हैं और उस इंडेक्स से तत्व को हटा सकते हैं। (तत्वों का इंडेक्स हटाने के बाद बदल सकता है)। हम कह सकते हैं कि एक ऐरे निष्पक्ष है जब विषम-इंडेक्स वाले मानों का योग सम-इंडेक्स वाले मानों के योग के बराबर होता है। हमें उन इंडेक्स की संख्या ढूंढनी है जिन्हें हम चुन सकते हैं ताकि हटाने के बाद, 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 (निष्पक्ष नहीं)

समाधान के चरण

  1. res := 0, sm1 := 0, sm2 := 0
  2. i को 1 से len(nums)-1 तक:
    • यदि i सम है:
      • sm1 := sm1 + nums[i]
    • अन्यथा:
      • sm2 := sm2 + nums[i]
  3. यदि sm1 == sm2:
    • res := res + 1
  4. i को 1 से len(nums)-1 तक:
    • यदि i विषम है:
      • sm1 := sm1 - nums[i] + nums[i-1]
    • अन्यथा:
      • sm2 := sm2 - nums[i] + nums[i-1]
    • यदि sm1 == sm2:
      • res := res + 1
  5. res वापस करें

उदाहरण

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

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. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

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

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

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

  1. पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें पायथन प्रोग्राम: ऐरे में सबसे बड़ा एलिमेंट ढूंढें

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