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

पायथन में संख्याओं की सूची के सभी सबसीक्वेंस की चौड़ाई का योग ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, संख्याओं के अनुक्रम की चौड़ाई को अनुक्रम में अधिकतम और न्यूनतम संख्या के अंतर के रूप में परिभाषित किया गया है। हमें nums के सभी सबसीक्वेंस की चौड़ाई का योग ज्ञात करना है। यदि उत्तर बहुत बड़ा है तो परिणाम को 10^9+7 से मोड करें।

इसलिए, यदि इनपुट nums = [7, 4, 9] जैसा है, तो आउटपुट 15 होगा, क्योंकि हमारे पास सबसीक्वेंस हैं: [7], [4], [9], [7, 4], [7, 9], [4, 9], [7, 4, 9] और चौड़ाई हैं 0, 0, 0, 3, 2, 5, 5, इसलिए योग 15 है।

हल करने के चरण

  • m := 10^9 + 7

  • nums सूची को सॉर्ट करें

  • ans := 0

  • power := nums + 1 के आकार की सूची और 1 से भरें

  • i के लिए 1 से nums के आकार + 1 तक की रेंज में, करें power[i] := power[i - 1] * 2 mod m

  • i के लिए 0 से nums के आकार तक की रेंज में, करें

    • positive := (power[i] - 1) * nums[i]

    • negative := (power[nums का आकार - i - 1] - 1) * nums[i]

    • ans := (ans + positive - negative) mod m

  • ans लौटाएं

उदाहरण

class Solution:
    def solve(self, nums):
        m = 10**9 + 7
        nums.sort()
        ans = 0
        power = [1] * (len(nums) + 1)
        for i in range(1, len(nums) + 1):
            power[i] = power[i - 1] * 2 % m
        for i in range(0, len(nums)):
            positive = (power[i] - 1) * nums[i]
            negative = (power[len(nums) - i - 1] - 1) * nums[i]
            ans = (ans + positive - negative) % m
        return ans

ob = Solution()
nums = [7, 4, 9]
print(ob.solve(nums))

इनपुट

[7, 4, 9]

आउटपुट

15
  1. पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें पायथन प्रोग्राम: लिस्ट का संचयी योग ज्ञात करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट दी गई है, हमें संचयी योग के साथ एक लिस्ट बनानी है। उदाहरण # संचयी योग def Cumulative(l): new = [] cumsum = 0 for element in l: cumsum += element new.append(cumsum) return new # ड्राइवर

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

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

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

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