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

पायथन में अधिकतम उपसरणी


मान लीजिए हमारे पास एक पूर्णांक सरणी A है। हमें सन्निकट उपसरणी ढूंढनी है जिसकी लंबाई कम से कम एक हो, और जिसका योग सबसे बड़ा हो, और उसका योग भी वापस करना है। यदि सरणी A [-2,1,-3,4,-1,2,1,-5,4] जैसी है, तो योग 6 होगा। और उपसरणी [4, -1, 2, 1] होगी।

इसे हल करने के लिए हम डायनामिक प्रोग्रामिंग दृष्टिकोण का उपयोग करने का प्रयास करेंगे।

  • A के समान आकार की एक सरणी dp परिभाषित करें, और इसे 0 से भरें
  • dp[0] := A[0]
  • i = 1 से A के आकार - 1 तक
    • dp[i] := dp[i - 1] + A[i] और A[i] का अधिकतम
  • dp में अधिकतम वापस करें

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

उदाहरण (पायथन)

class Solution(object):
    def maxSubArray(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        dp = [0 for i in range(len(nums))]
        dp[0] = nums[0]
        for i in range(1,len(nums)):
            dp[i] = max(dp[i-1]+nums[i],nums[i])
        return max(dp)

nums = [-2,1,-3,7,-2,2,1,-5,4]
ob1 = Solution()
print(ob1.maxSubArray(nums))

इनपुट

nums = [-2,1,-3,7,-2,2,1,-5,4]

आउटपुट

8

  1. - पायथन में अधिकतम उत्पाद सबएरे

    मान लीजिए हमारे पास nums नामक एक पूर्णांक ऐरे है, हमें एक ऐरे के भीतर सन्निकट सबएरे (कम से कम एक संख्या युक्त) ढूंढना है जिसका सबसे बड़ा उत्पाद हो। इसलिए यदि ऐरे [2,3,-2,4] है, तो आउटपुट 6 होगा, क्योंकि सन्निकट सबएरे [2,3] का अधिकतम उत्पाद है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - max_li

  1. - पायथन में सबसे छोटा अनसॉर्टेड कंटीन्यूअस सबऐरे

    मान लीजिए हमारे पास एक इंटीजर ऐरे है, हमें एक कंटीन्यूअस सबऐरे ढूंढना है जैसे कि यदि हम केवल उस सबऐरे को आरोही क्रम में सॉर्ट करें, तो पूरा ऐरे सॉर्ट हो जाए। हमें सबसे छोटे ऐसे सबऐरे की लंबाई आउटपुट करनी है। इसलिए यदि ऐरे [2,6,4,8,10,9,15] है, तो आउटपुट 5 होगा। सबऐरे [6,4,8,10,9] होगा। समाधान के चर

  1. - पायथन प्रोग्राम: तीन नंबर्स में अधिकतम

    तीन नंबर a, b और c दिए गए हैं, हमारा कार्य दिए गए नंबरों में से अधिकतम एलिमेंट ढूंढना है।उदाहरणInput: a = 2, b = 4, c = 3 Output: 4एल्गोरिदमचरण 1: तीन यूजर इनपुट नंबर इनपुट करें। चरण 2: तीन नंबर्स को लिस्ट में जोड़ें। चरण 3: सबसे बड़ी संख्या खोजने के लिए max() फंक्शन का उपयोग करें max(lst)। चरण 4: औ