Grokking the Coding Interview: Patterns for Coding Questions
Ask Author
Back to course home

0% completed

Vote For New Content
Mohammed Dh Abbas
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