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

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


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

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

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

  • n :=A का आकार

  • सूची ए को क्रमबद्ध करें

  • sum_min :=0, sum_max :=0

  • मेरे लिए 0 से n की सीमा में, करें

    • sum_max :=2 * sum_max + A[n-1-i]

    • sum_max :=sum_max mod N

    • sum_min :=2 * sum_min + A[i]

    • sum_min :=sum_min mod N

  • वापसी (sum_max - sum_min + N) मॉड एन

उदाहरण

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

N = 1000000007
def get_max_min_diff(A):
   n = len(A)
   A.sort()
   sum_min = 0
   sum_max = 0
   for i in range(0,n):
      sum_max = 2 * sum_max + A[n-1-i]
      sum_max %= N
      sum_min = 2 * sum_min + A[i]
      sum_min %= N
   return (sum_max - sum_min + N) % N
A = [1, 3, 4]
print(get_max_min_diff(A))

इनपुट

[1, 3, 4]

आउटपुट

9

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

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

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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