Back to course home
0% completed
Vote For New Content
My solution
Mohammed Dh Abbas
Aug 11, 2024
class Solution: def maxSubArrayLen(self, nums, k): sum_lookup = {} acc_sum = 0 # accumulated sum length = 0 for index, num in enumerate(nums): acc_sum += num sum_lookup[acc_sum] = index # if the sub array starts from the first location in nums array we use the length up to that point # example [1, -1, 0, 2, 3], K = 2 answer is 4 if acc_sum == k: length = index + 1 # search "O(1) using hashmap" for any accumulated sum that is = acc_sum - k then measure the difference of indexes length # example [3, 4, 7, 2, -3, 1, 4, 2], k = 7 answer is 4 elif acc_sum - k in sum_lookup: length = max(length, index - sum_lookup[acc_sum - k]) return length
0
0
Comments
Comments
On this page