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

पायथन का उपयोग करके सॉर्ट किए गए सबएरे सम के रेंज सम को खोजने का प्रोग्राम


मान लीजिए हमारे पास n सकारात्मक तत्वों वाली एक सरणी nums है। यदि हम nums के सभी गैर-खाली सन्निहित सबएरे के योग की गणना करते हैं और फिर उन्हें गैर-घटते क्रम में सॉर्ट करते हैं, जिससे n*(n+1)/2 संख्याओं की एक नई सरणी बनती है। हमें नई सरणी में इंडेक्स left से इंडेक्स right (1-इंडेक्स्ड) तक की संख्याओं का योग ढूंढना है, समावेशी। उत्तर बहुत बड़ा हो सकता है इसलिए परिणाम को 10^9 + 7 से मोडुलो वापस करें।

उदाहरण के लिए, यदि इनपुट nums = [1,5,2,6] left = 1 right = 5 है, तो आउटपुट 20 होगा क्योंकि यहां सभी सबएरे योग 1, 5, 2, 6, 6, 7, 8, 8, 13, 14 हैं, सॉर्ट करने के बाद वे [1,2,5,6,6,7,8,8,13,14] हैं, इंडेक्स 1 से 5 तक के तत्वों का योग 1+5+2+6+6 = 20 है।

हल करने के चरण

  • m := 10^9 + 7

  • n := nums का आकार

  • a := एक नई सूची

  • i को 0 से n - 1 तक की रेंज में लिए करें

    • j को i से n - 1 तक की रेंज में लिए करें

      • यदि i, j के समान है, तो

        • nums[j] को a के अंत में डालें

      • अन्यथा,

        • ((nums[j] + a का अंतिम तत्व) mod m) को a के अंत में डालें

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

  • sm := a के सभी तत्वों का योग (इंडेक्स left-1 से right तक)

  • sm mod m वापस करें

उदाहरण

def solve(nums, left, right):
    m = 10**9 + 7
    n = len(nums)
    a = []
    for i in range(n):
        for j in range(i, n):
            if i == j:
                a.append(nums[j])
            else:
                a.append((nums[j] + a[-1]) % m)
    a.sort()
    sm = sum(a[left-1:right])
    return sm % m

nums = [1,5,2,6]
left = 1
right = 5
print(solve(nums, left, right))

इनपुट

[1,5,2,6], 1, 5

आउटपुट

20
  1. - पायथन में सूची के गैर-आसन्न तत्वों का अधिकतम योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, हमें एक फ़ंक्शन परिभाषित करना है जो गैर-आसन्न संख्याओं का अधिकतम योग लौटाता है। यहां संख्याएं 0 या नकारात्मक भी हो सकती हैं। उदाहरण के लिए, यदि इनपुट [3, 5, 7, 3, 6] है, तो आउटपुट 16 होगा, क्योंकि हम 3, 7, और 6 लेकर 16 प्राप्त कर सकते हैं। इसे हल

  1. - पायथन में सॉर्टेड सूची में हर जोड़ी के निरपेक्ष अंतर का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक सॉर्टेड संख्याओं की एक सूची है, हमें दी गई सूची में हर जोड़ी के संख्याओं के बीच निरपेक्ष अंतर का योग ढूंढना है। यहां हम (i, j) और (j, i) को अलग-अलग जोड़ी मानते हैं। यदि उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से मोड करें। उदाहरण के लिए, यदि इनपुट nums = [2, 4, 8] है, तो

  1. - पायथन में सभी सन्निकट सबलिस्ट के योग का योग खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, अब हर सन्निकट सबअरे पर विचार करें। इनमें से प्रत्येक सबअरे का योग करें और इन सभी मानों का योग लौटाएं। अंत में, परिणाम को 10**9 + 7 से मोड करें। उदाहरण के लिए, यदि इनपुट है nums = [3, 4, 6], तो आउटपुट होगा 43, क्योंकि हमारे पास निम्नलिखित सबअरे ह