Maximum Subarray

Implementation

Pasted image 20260713181815.png

class Solution:

    def maxSubArray(self, nums: List[int]) -> int:

        max_sum = float("-inf")

        start_position = 0

  

        while start_position < len(nums):

            curr_sum = 0

            end_position = start_position

            while end_position < len(nums):

                curr_sum += nums[end_position]

                max_sum = max(curr_sum, max_sum)

                end_position += 1

            start_position += 1

        return max_sum
class Solution:

    def maxSubArray(self, nums: List[int]) -> int:

        n, maxSum, currSum = len(nums), nums[0], 0

        for i in range(n):

            currSum = max(0, currSum) + nums[i]

            maxSum = max(currSum, maxSum)

        return maxSum
class Solution:

    def maxSubArray(self, nums: List[int]) -> int:

        maxSub = nums[0]

        curSum = 0

        for i in nums:

            if curSum < 0:

                curSum = 0

            curSum += i

            maxSub = max(maxSub, curSum)

        return maxSub