Subarray Sum Equals K (Leetcode 560)

Problem Link: https://leetcode.com/problems/subarray-sum-equals-k/

class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:
        n=len(nums)
        prefixSum=[]
        s=0
        for i in nums:
            s=s+i
            prefixSum.append(s)
        
        d={}
        ans=0
        for i in prefixSum:
            if(i==k):
                ans+=1
            if(i-k in d):
                ans+=d[i-k]
            
            if(i not in d):
                d[i]=1
            else:
                d[i]+=1
        
        return ans

Last updated