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

पायथन में संख्याओं के बीच ऑपरेटर डालकर अधिकतम मान ज्ञात करने का प्रोग्राम


मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। हमें दिए गए संख्याओं के बीच +, -, * जैसे किसी भी बाइनरी ऑपरेटर को जोड़कर और वैध कोष्ठक डालकर उत्पन्न किए जा सकने वाले अधिकतम मान को ज्ञात करना है।

उदाहरण के लिए, nums = [-6, -4, -10] के लिए आउटपुट 100 होगा (अभिव्यक्ति: ((-6) + (-4)) * -10)।

एल्गोरिदम (इंटरवल DP)

  • OPS := [+, -, *]
  • N := len(A)
  • यदि सभी तत्व 0 हैं, तो 0 वापस करें
  • dp(i, j) फ़ंक्शन परिभाषित करें जो (min_val, max_val) वापस करता है:
    • यदि i == j, तो (A[i], A[i]) वापस करें
    • low := inf, high := -inf
    • k = i से j-1 तक:
      • प्रत्येक left in dp(i,k) और right in dp(k+1,j) के लिए:
        • प्रत्येक op in OPS के लिए:
          • res = left op right
          • low = min(low, res), high = max(high, res)
    • (low, high) वापस करें
  • dp(0, N-1)[1] वापस करें

उदाहरण

import operator
class Solution:
    def solve(self, A):
        OPS = [operator.add, operator.sub, operator.mul]
        N = len(A)
        if not any(A): return 0
        def dp(i, j):
            if i == j: return [A[i], A[i]]
            low = float("inf")
            high = float("-inf")
            for k in range(i, j):
                for left in dp(i, k):
                    for right in dp(k+1, j):
                        for op in OPS:
                            res = op(left, right)
                            if res < low: low = res
                            if res > high: high = res
            return [low, high]
        return dp(0, N-1)[1]

ob = Solution()
nums = [-6, -4, -10]
print(ob.solve(nums))

इनपुट

[-6, -4, -10]

आउटपुट

100
  1. - पायथन में नंबर डिलीट करके अधिकतम एडिटिव स्कोर खोजने का प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है। एक ऑपरेशन पर विचार करें जहां हम एक नंबर चुनते हैं, उसे हटाते हैं और अपना स्कोर उस नंबर और उसके दो आसन्न नंबरों के योग से बढ़ाते हैं। हम इस ऑपरेशन को जितनी बार चाहें कर सकते हैं जब तक हम लिस्ट के पहले या आखिरी नंबर को नहीं चुनते। हमें अधिकतम संभव

  1. - Python प्रोग्राम से डिक्शनरी में दूसरी अधिकतम मान खोजना

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

  1. - Python प्रोग्राम: तीन संख्याओं में से अधिकतम खोजें

    इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो तीन आंकड़ों में से अधिकतम राशि ढूंढता है। हमारे पास तीन संख्याएं होंगी, और हमारा लक्ष्य उन तीन संख्याओं में से अधिकतम संख्या ढूंढना है।बेहतर समझ के लिए कुछ नमूना टेस्ट केस देखें।इनपुट: a, b, c = 2, 34, 4 आउटपुट: 34इनपुट: a, b, c = 25, 3, 12 आउटपुट: 25इनप