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

पायथन में क्रमबद्ध सरणी में निरपेक्ष अंतरों का योग ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास nums नामक एक सरणी है और यह गैर-घटते क्रम में क्रमबद्ध है। हमें result नामक एक सरणी बनानी है जिसकी लंबाई nums के समान हो जैसे कि result[i], nums[i] और सरणी के अन्य सभी तत्वों के बीच निरपेक्ष अंतरों का योग हो।

इसलिए, यदि इनपुट है nums = [5,7,12], तो आउटपुट [9, 7, 12] होगा क्योंकि

  • |5-5| + |5-7| + |5-12| = 0+2+7 = 9
  • |7-5| + |7-7| + |7-12| = 2+0+5 = 7
  • |5-12| + |7-12| + |12-12| = 7+5+0 = 12

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

  • res := एक नई सूची
  • s := 0
  • n := nums का आकार
  • i को 1 से n - 1 तक के लिए, करें
    • s := s + nums[i] - nums[0]
  • s को res के अंत में डालें
  • i को 1 से n - 1 तक के लिए, करें
    • diff := nums[i] - nums[i-1]
    • s := s + diff*i
    • s := s - diff*(n-i)
  • s को res के अंत में डालें
  • res वापस करें

उदाहरण

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

def solve(nums):
    res = []
    s = 0
    n = len(nums)
    for i in range(1, n):
        s += nums[i] - nums[0]
    res.append(s)
    for i in range(1, n):
        diff = nums[i] - nums[i-1]
        s += diff * i
        s -= diff * (n - i)
        res.append(s)
    return res

nums = [5,7,12]
print(solve(nums))

इनपुट

[5,7,12]

आउटपुट

[9, 7, 12]
  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

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

  1. पायथन प्रोग्राम: लिस्ट में सभी पेयर्स के बीच एब्सोल्यूट डिफरेंस का योग ढूंढें पायथन प्रोग्राम: लिस्ट में सभी पेयर्स के बीच एब्सोल्यूट डिफरेंस का योग ढूंढें

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

  1. पायथन प्रोग्राम में इंसर्शन सॉर्ट पायथन प्रोग्राम में इंसर्शन सॉर्ट

    इस लेख में, हम पायथन 3.x में इंसर्शन सॉर्ट के कार्यान्वयन के बारे में सीखेंगे। या इससे पहले। एल्गोरिदम इनपुट एलिमेंट्स पर इटरेट करें और प्रत्येक इटरेशन में सॉर्टेड ऐरे को बढ़ाएं। वर्तमान एलिमेंट की तुलना सॉर्टेड ऐरे में उपलब्ध सबसे बड़े मान से करें। यदि वर्तमान एलिमेंट बड़ा है, तो यह एलिमेंट को उ