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

पायथन में तत्वों को पुनर्व्यवस्थित करके सूची के पावर का अधिकतम मान ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास N धनात्मक संख्याओं की सूची nums है। हम सूची से किसी एक मान को चुन सकते हैं, और उसे किसी भी स्थिति में ले जा सकते हैं (स्वैप नहीं)। हम कोई तत्व न भी हिला सकते हैं। हमें सूची के अधिकतम संभव अंतिम पावर को ज्ञात करना है। सूची का पावर सभी सूचकांकों i पर (i+1) * value_at_index का योग है।

उदाहरण के लिए, यदि इनपुट है nums = [6, 2, 3], तो आउटपुट 26 होगा, क्योंकि हम 6 को अंत में ले जाकर [2, 3, 6] प्राप्त कर सकते हैं, पावर = (2*1) + (3*2) + (6*3) = 26।

एल्गोरिदम

  • P := [0] से शुरू होने वाली प्रीफिक्स सम सूची, base := 0
  • प्रत्येक सूचकांक i और मान x के लिए:
    • P.append(P[-1] + x)
    • base += (i+1) * x
  • ans := base
  • प्रत्येक सूचकांक i और मान x के लिए:
    • j = 0 से len(A) तक:
      • ans = max(ans, base + P[i] - P[j] - (i - j) * x)
  • ans वापस करें

उदाहरण

class Solution:
    def solve(self, A):
        P = [0]
        base = 0
        for i, x in enumerate(A, 1):
            P.append(P[-1] + x)
            base += i * x
        ans = base
        for i, x in enumerate(A):
            for j in range(len(A) + 1):
                ans = max(ans, base + P[i] - P[j] - (i - j) * x)
        return ans

ob = Solution()
nums = [6, 2, 3]
print(ob.solve(nums))

इनपुट

[6, 2, 3]

आउटपुट

26
  1. - Python प्रोग्राम में सूची के तत्वों का योग खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची पुनरावृत्ति दी गई है, हमें सूची का योग निकालने की आवश्यकता है। यहां हम नीचे चर्चा किए गए 3 दृष्टिकोणों पर चर्चा करेंगे For Loop का उपयोग करना उदाहरण # sum total = 0 # एक सूची बनाना list1 = [11, 22, 33,

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

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

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

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे