Showing posts with label Maximum Subarray Python. Show all posts
Showing posts with label Maximum Subarray Python. Show all posts

Maximum Subarray Python

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
Example:
Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
Follow up:
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle.
Greedy Approach:
class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        if nums is None:
            return None        maxValue = nums[0]
        maxSubArrayValue = nums[0]
        for i in range(1, len(nums)):
            maxValue = max(nums[i], maxValue + nums[i])
            maxSubArrayValue = max(maxValue, maxSubArrayValue)
        return maxSubArrayValue

Time Complexity : O(n)
Space Complexity : O(1)

Featured Post

H1B Visa Stamping at US Consulate

  H1B Visa Stamping at US Consulate If you are outside of the US, you need to apply for US Visa at a US Consulate or a US Embassy and get H1...