560. 和为 K 的子数组

前缀和+哈希表,将部分和表示为前缀,向后移动,得到目标便加1

 

class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:
        count = 0;
        m={0:1}
        temp=0;
        for i in nums:
            temp+=i
            if temp-k in m:
                count += m[temp-k]
            if temp in m:
                m[temp]+=1
            else:
                m[temp]=1
        return count;
    


posted @ 2022-01-08 16:32  jozon  阅读(23)  评论(0)    收藏  举报