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

पायथन में सर्कुलर सबलिस्ट की अधिकतम राशि खोजने का कार्यक्रम

मान लीजिए कि हमारे पास संख्याओं की एक सूची है, अब संख्याओं की एक गोलाकार सूची पर विचार करें जहां अंकों की शुरुआत और अंत पड़ोसी हैं। हमें सर्कुलर सूची में एक गैर-रिक्त उप-सूची का अधिकतम योग ज्ञात करना है।

इसलिए, यदि इनपुट संख्या =[2, 3, -7, 4, 5] की तरह है, तो आउटपुट 14 होगा, क्योंकि हम सबलिस्ट [4, 5, 2, 3] ले सकते हैं, जिसका योग 14 है।

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

  • max_sum :=ऋणात्मक अनंत, cur_max :=0

  • min_sum :=सकारात्मक अनंत, cur_min :=0

  • अंकों में प्रत्येक अंक के लिए, करें

    • cur_max :=अधिकतम संख्या और cur_max + num

    • max_sum :=max_sum और cur_max का अधिकतम

    • cur_min :=न्यूनतम संख्या और cur_min + num

    • min_sum :=न्यूनतम min_sum और cur_min

  • अगर max_sum <=0, तो

    • वापसी max_sum

  • max_sum की अधिकतम वापसी और (संख्या में सभी तत्वों का योग - min_sum)

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

उदाहरण

import math
class Solution:
   def solve(self, nums):
      max_sum = -math.inf
      cur_max = 0
      min_sum = math.inf
      cur_min = 0
      for num in nums:
         cur_max = max(num, cur_max + num)
         max_sum = max(max_sum, cur_max)
         cur_min = min(num, cur_min + num)
         min_sum = min(min_sum, cur_min)
      if max_sum <= 0:
         return max_sum
      return max(max_sum, sum(nums) - min_sum)
ob = Solution()
nums = [2, 3, -7, 4, 5]
print(ob.solve(nums))

इनपुट

[2, 3, -7, 4, 5]

आउटपुट

14

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

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

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

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

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

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