LC 0325 [M] Maximum Size Subarray Sum Equals k - ALawliet/algorithms GitHub Wiki

class Solution:
    def maxSubArrayLen(self, nums, k):
        max_len = 0
        cumsum_to_i = {0: -1}
        cumsum = 0

        for i in range(len(nums)):
            cumsum += nums[i]

            if cumsum not in cumsum_to_i :
                cumsum_to_i[cumsum] = i 

            if cumsum-k in cumsum_to_i:
                max_len = max(max_len, i - cumsum_to_i[cumsum-k])

        return max_len