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

पायथन में दिए गए ऐरे के सभी उपसमुच्चयों से अधिकतम अंतर का योग खोजें


मान लीजिए हमारे पास n मानों का एक ऐरे A है (तत्व विशिष्ट नहीं हो सकते)। हमें दिए गए ऐरे के सभी उपसमुच्चयों से अधिकतम अंतर के योग को ढूंढना है। अब max(s) किसी उपसमुच्चय में अधिकतम मान को दर्शाता है, और min(s) उपसमुच्चय में न्यूनतम मान को दर्शाता है। हमें सभी संभावित उपसमुच्चयों के लिए max(s) - min(s) का योग ढूंढना है।

इसलिए, यदि इनपुट A = [1, 3, 4] है, तो आउटपुट 9 होगा।

समाधान दृष्टिकोण

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

  • n := len(A)
  • सूची A को सॉर्ट करें।
  • sum_min := 0, sum_max := 0
  • i को 0 से n-1 तक के लिए:
    • sum_max := 2 * sum_max + A[n-1-i]
    • sum_max := sum_max % MOD
    • sum_min := 2 * sum_min + A[i]
    • sum_min := sum_min % MOD
  • (sum_max - sum_min + MOD) % MOD लौटाएं।

उदाहरण

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

MOD = 1000000007

def get_max_min_diff(A):
    n = len(A)
    A.sort()
    sum_min = 0
    sum_max = 0
    for i in range(n):
        sum_max = 2 * sum_max + A[n - 1 - i]
        sum_max %= MOD
        sum_min = 2 * sum_min + A[i]
        sum_min %= MOD
    return (sum_max - sum_min + MOD) % MOD

A = [1, 3, 4]
print(get_max_min_diff(A))

इनपुट

[1, 3, 4]

आउटपुट

9
  1. पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास दो सरणियाँ nums1 और nums2 हैं। एक वैध पथ को इस प्रकार परिभाषित किया गया है: nums1 या nums2 को पार करने के लिए चुनें (सूचकांक-0 से)। सरणी को बाएं से दाएं पार करें। अब, यदि हम किसी ऐसे मान से गुजर रहे हैं जो nums1 और nums2 दोनों में मौजूद है, तो हम दूसरे सरणी पर पथ बदल सकते हैं।

  1. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

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

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

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