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

Python में किसी भी सबऐरे का अधिकतम निरपेक्ष योग खोजने का प्रोग्राम


मान लीजिए हमारे पास एक ऐरे nums है। हमें एक सबऐरे [nums_l, nums_l+1, ..., nums_r-1, nums_r] का निरपेक्ष योग ढूंढना है जो |nums_l + nums_l+1 + ... + nums_r-1 + nums_r| है। हमें nums के किसी भी सबऐरे का अधिकतम निरपेक्ष योग ढूंढना है (वह सबऐरे संभवतः खाली हो सकता है)।

उदाहरण के लिए, यदि इनपुट है nums = [2,-4,-3,2,-6], तो आउटपुट 11 होगा क्योंकि सबऐरे [2,-4,-3,2] का अधिकतम निरपेक्ष सबऐरे योग |2 + (-4) + (-3) + 2| = 11 है।

समाधान के चरण

  1. n := len(nums)
  2. ans := 0, temp := 0
  3. i को 0 से n-1 तक:
    • यदि temp < 0, तो temp := 0
    • temp := temp + nums[i]
    • ans := max(ans, abs(temp))
  4. temp := 0
  5. i को 0 से n-1 तक:
    • यदि temp > 0, तो temp := 0
    • temp := temp + nums[i]
    • ans := max(ans, abs(temp))
  6. ans वापस करें

उदाहरण

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

def solve(nums):
    n = len(nums)
    ans = 0
    temp = 0
    for i in range(n):
        if temp < 0:
            temp = 0
        temp = temp + nums[i]
        ans = max(ans, abs(temp))
    temp = 0
    for i in range(n):
        if temp > 0:
            temp = 0
        temp = temp + nums[i]
        ans = max(ans, abs(temp))
    return ans

nums = [2,-4,-3,2,-6]
print(solve(nums))

इनपुट

[2,-4,-3,2,-6]

आउटपुट

11
  1. पायथन में ट्री के गैर-आसन्न नोड्स के अधिकतम योग को खोजने का प्रोग्राम पायथन में ट्री के गैर-आसन्न नोड्स के अधिकतम योग को खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें उन मानों का अधिकतम योग ढूंढना है जो इस शर्त पर प्राप्त किया जा सकता है कि कोई दो मान आसन्न पैरेंट-टू-चाइल्ड न हों।इसलिए, यदि इनपुट इस तरह हैतो आउटपुट 17 होगा क्योंकि 10, 4, 3 एक-दूसरे से आसन्न नहीं हैं।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे −

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

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है, अब nums की एक सर्कुलर सूची पर विचार करें जहां शुरुआत और अंत पड़ोसी हैं। हमें सर्कुलर सूची में गैर-खाली सबलिस्ट का अधिकतम योग ढूंढना है। उदाहरण के लिए, यदि इनपुट nums = [2, 3, -7, 4, 5] है, तो आउटपुट 14 होगा, क्योंकि हम सबलिस्ट [4, 5, 2, 3] ले सकत

  1. - पायथन में संतुलित कोष्ठकों के अधिकतम समूहों की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक स्ट्रिंग s है जिसमें संतुलित कोष्ठक ( और ) हैं, हमें उन्हें संतुलित समूहों की अधिकतम संख्या में विभाजित करना है। उदाहरण के लिए, यदि इनपुट (()())()(()) है, तो आउटपुट [(()()), (), (())] होगा। इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे: temp := खाली स्ट्रिंग groups := एक